{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Chapter 13 – Loading and Preprocessing Data with TensorFlow**\n",
    "\n",
    "_This notebook contains all the sample code and solutions to the exercises in chapter 13._"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<table align=\"left\">\n",
    "  <td>\n",
    "    <a target=\"_blank\" href=\"https://colab.research.google.com/github/ageron/handson-ml2/blob/master/13_loading_and_preprocessing_data.ipynb\"><img src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" />Run in Google Colab</a>\n",
    "  </td>\n",
    "</table>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Setup"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "First, let's import a few common modules, ensure MatplotLib plots figures inline and prepare a function to save the figures. We also check that Python 3.5 or later is installed (although Python 2.x may work, it is deprecated so we strongly recommend you use Python 3 instead), as well as Scikit-Learn ≥0.20 and TensorFlow ≥2.0."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Python ≥3.5 is required\n",
    "import sys\n",
    "assert sys.version_info >= (3, 5)\n",
    "\n",
    "# Scikit-Learn ≥0.20 is required\n",
    "import sklearn\n",
    "assert sklearn.__version__ >= \"0.20\"\n",
    "\n",
    "try:\n",
    "    # %tensorflow_version only exists in Colab.\n",
    "    %tensorflow_version 2.x\n",
    "    !pip install -q -U tfx==0.21.2\n",
    "    print(\"You can safely ignore the package incompatibility errors.\")\n",
    "except Exception:\n",
    "    pass\n",
    "\n",
    "# TensorFlow ≥2.0 is required\n",
    "import tensorflow as tf\n",
    "from tensorflow import keras\n",
    "assert tf.__version__ >= \"2.0\"\n",
    "\n",
    "# Common imports\n",
    "import numpy as np\n",
    "import os\n",
    "\n",
    "# to make this notebook's output stable across runs\n",
    "np.random.seed(42)\n",
    "\n",
    "# To plot pretty figures\n",
    "%matplotlib inline\n",
    "import matplotlib as mpl\n",
    "import matplotlib.pyplot as plt\n",
    "mpl.rc('axes', labelsize=14)\n",
    "mpl.rc('xtick', labelsize=12)\n",
    "mpl.rc('ytick', labelsize=12)\n",
    "\n",
    "# Where to save the figures\n",
    "PROJECT_ROOT_DIR = \".\"\n",
    "CHAPTER_ID = \"data\"\n",
    "IMAGES_PATH = os.path.join(PROJECT_ROOT_DIR, \"images\", CHAPTER_ID)\n",
    "os.makedirs(IMAGES_PATH, exist_ok=True)\n",
    "\n",
    "def save_fig(fig_id, tight_layout=True, fig_extension=\"png\", resolution=300):\n",
    "    path = os.path.join(IMAGES_PATH, fig_id + \".\" + fig_extension)\n",
    "    print(\"Saving figure\", fig_id)\n",
    "    if tight_layout:\n",
    "        plt.tight_layout()\n",
    "    plt.savefig(path, format=fig_extension, dpi=resolution)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Datasets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<TensorSliceDataset shapes: (), types: tf.int32>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X = tf.range(10)\n",
    "dataset = tf.data.Dataset.from_tensor_slices(X)\n",
    "dataset"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Equivalently:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "dataset = tf.data.Dataset.range(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tf.Tensor(0, shape=(), dtype=int64)\n",
      "tf.Tensor(1, shape=(), dtype=int64)\n",
      "tf.Tensor(2, shape=(), dtype=int64)\n",
      "tf.Tensor(3, shape=(), dtype=int64)\n",
      "tf.Tensor(4, shape=(), dtype=int64)\n",
      "tf.Tensor(5, shape=(), dtype=int64)\n",
      "tf.Tensor(6, shape=(), dtype=int64)\n",
      "tf.Tensor(7, shape=(), dtype=int64)\n",
      "tf.Tensor(8, shape=(), dtype=int64)\n",
      "tf.Tensor(9, shape=(), dtype=int64)\n"
     ]
    }
   ],
   "source": [
    "for item in dataset:\n",
    "    print(item)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "tags": [
     "raises-exception"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tf.Tensor([0 1 2 3 4 5 6], shape=(7,), dtype=int64)\n",
      "tf.Tensor([7 8 9 0 1 2 3], shape=(7,), dtype=int64)\n",
      "tf.Tensor([4 5 6 7 8 9 0], shape=(7,), dtype=int64)\n",
      "tf.Tensor([1 2 3 4 5 6 7], shape=(7,), dtype=int64)\n",
      "tf.Tensor([8 9], shape=(2,), dtype=int64)\n"
     ]
    }
   ],
   "source": [
    "dataset = dataset.repeat(3).batch(7)\n",
    "for item in dataset:\n",
    "    print(item)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "dataset = dataset.map(lambda x: x * 2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tf.Tensor([ 0  2  4  6  8 10 12], shape=(7,), dtype=int64)\n",
      "tf.Tensor([14 16 18  0  2  4  6], shape=(7,), dtype=int64)\n",
      "tf.Tensor([ 8 10 12 14 16 18  0], shape=(7,), dtype=int64)\n",
      "tf.Tensor([ 2  4  6  8 10 12 14], shape=(7,), dtype=int64)\n",
      "tf.Tensor([16 18], shape=(2,), dtype=int64)\n"
     ]
    }
   ],
   "source": [
    "for item in dataset:\n",
    "    print(item)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "#dataset = dataset.apply(tf.data.experimental.unbatch()) # Now deprecated\n",
    "dataset = dataset.unbatch()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "dataset = dataset.filter(lambda x: x < 10)  # keep only items < 10"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tf.Tensor(0, shape=(), dtype=int64)\n",
      "tf.Tensor(2, shape=(), dtype=int64)\n",
      "tf.Tensor(4, shape=(), dtype=int64)\n"
     ]
    }
   ],
   "source": [
    "for item in dataset.take(3):\n",
    "    print(item)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tf.Tensor([1 3 0 4 2 5 6], shape=(7,), dtype=int64)\n",
      "tf.Tensor([8 7 1 0 3 2 5], shape=(7,), dtype=int64)\n",
      "tf.Tensor([4 6 9 8 9 7 0], shape=(7,), dtype=int64)\n",
      "tf.Tensor([3 1 4 5 2 8 7], shape=(7,), dtype=int64)\n",
      "tf.Tensor([6 9], shape=(2,), dtype=int64)\n"
     ]
    }
   ],
   "source": [
    "tf.random.set_seed(42)\n",
    "\n",
    "dataset = tf.data.Dataset.range(10).repeat(3)\n",
    "dataset = dataset.shuffle(buffer_size=3, seed=42).batch(7)\n",
    "for item in dataset:\n",
    "    print(item)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Split the California dataset to multiple CSV files"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's start by loading and preparing the California housing dataset. We first load it, then split it into a training set, a validation set and a test set, and finally we scale it:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.datasets import fetch_california_housing\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "\n",
    "housing = fetch_california_housing()\n",
    "X_train_full, X_test, y_train_full, y_test = train_test_split(\n",
    "    housing.data, housing.target.reshape(-1, 1), random_state=42)\n",
    "X_train, X_valid, y_train, y_valid = train_test_split(\n",
    "    X_train_full, y_train_full, random_state=42)\n",
    "\n",
    "scaler = StandardScaler()\n",
    "scaler.fit(X_train)\n",
    "X_mean = scaler.mean_\n",
    "X_std = scaler.scale_"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For a very large dataset that does not fit in memory, you will typically want to split it into many files first, then have TensorFlow read these files in parallel. To demonstrate this, let's start by splitting the housing dataset and save it to 20 CSV files:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "def save_to_multiple_csv_files(data, name_prefix, header=None, n_parts=10):\n",
    "    housing_dir = os.path.join(\"datasets\", \"housing\")\n",
    "    os.makedirs(housing_dir, exist_ok=True)\n",
    "    path_format = os.path.join(housing_dir, \"my_{}_{:02d}.csv\")\n",
    "\n",
    "    filepaths = []\n",
    "    m = len(data)\n",
    "    for file_idx, row_indices in enumerate(np.array_split(np.arange(m), n_parts)):\n",
    "        part_csv = path_format.format(name_prefix, file_idx)\n",
    "        filepaths.append(part_csv)\n",
    "        with open(part_csv, \"wt\", encoding=\"utf-8\") as f:\n",
    "            if header is not None:\n",
    "                f.write(header)\n",
    "                f.write(\"\\n\")\n",
    "            for row_idx in row_indices:\n",
    "                f.write(\",\".join([repr(col) for col in data[row_idx]]))\n",
    "                f.write(\"\\n\")\n",
    "    return filepaths"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_data = np.c_[X_train, y_train]\n",
    "valid_data = np.c_[X_valid, y_valid]\n",
    "test_data = np.c_[X_test, y_test]\n",
    "header_cols = housing.feature_names + [\"MedianHouseValue\"]\n",
    "header = \",\".join(header_cols)\n",
    "\n",
    "train_filepaths = save_to_multiple_csv_files(train_data, \"train\", header, n_parts=20)\n",
    "valid_filepaths = save_to_multiple_csv_files(valid_data, \"valid\", header, n_parts=10)\n",
    "test_filepaths = save_to_multiple_csv_files(test_data, \"test\", header, n_parts=10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Okay, now let's take a peek at the first few lines of one of these CSV files:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>MedInc</th>\n",
       "      <th>HouseAge</th>\n",
       "      <th>AveRooms</th>\n",
       "      <th>AveBedrms</th>\n",
       "      <th>Population</th>\n",
       "      <th>AveOccup</th>\n",
       "      <th>Latitude</th>\n",
       "      <th>Longitude</th>\n",
       "      <th>MedianHouseValue</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3.5214</td>\n",
       "      <td>15.0</td>\n",
       "      <td>3.049945</td>\n",
       "      <td>1.106548</td>\n",
       "      <td>1447.0</td>\n",
       "      <td>1.605993</td>\n",
       "      <td>37.63</td>\n",
       "      <td>-122.43</td>\n",
       "      <td>1.442</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5.3275</td>\n",
       "      <td>5.0</td>\n",
       "      <td>6.490060</td>\n",
       "      <td>0.991054</td>\n",
       "      <td>3464.0</td>\n",
       "      <td>3.443340</td>\n",
       "      <td>33.69</td>\n",
       "      <td>-117.39</td>\n",
       "      <td>1.687</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3.1000</td>\n",
       "      <td>29.0</td>\n",
       "      <td>7.542373</td>\n",
       "      <td>1.591525</td>\n",
       "      <td>1328.0</td>\n",
       "      <td>2.250847</td>\n",
       "      <td>38.44</td>\n",
       "      <td>-122.98</td>\n",
       "      <td>1.621</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>7.1736</td>\n",
       "      <td>12.0</td>\n",
       "      <td>6.289003</td>\n",
       "      <td>0.997442</td>\n",
       "      <td>1054.0</td>\n",
       "      <td>2.695652</td>\n",
       "      <td>33.55</td>\n",
       "      <td>-117.70</td>\n",
       "      <td>2.621</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2.0549</td>\n",
       "      <td>13.0</td>\n",
       "      <td>5.312457</td>\n",
       "      <td>1.085092</td>\n",
       "      <td>3297.0</td>\n",
       "      <td>2.244384</td>\n",
       "      <td>33.93</td>\n",
       "      <td>-116.93</td>\n",
       "      <td>0.956</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   MedInc  HouseAge  AveRooms  AveBedrms  Population  AveOccup  Latitude  \\\n",
       "0  3.5214      15.0  3.049945   1.106548      1447.0  1.605993     37.63   \n",
       "1  5.3275       5.0  6.490060   0.991054      3464.0  3.443340     33.69   \n",
       "2  3.1000      29.0  7.542373   1.591525      1328.0  2.250847     38.44   \n",
       "3  7.1736      12.0  6.289003   0.997442      1054.0  2.695652     33.55   \n",
       "4  2.0549      13.0  5.312457   1.085092      3297.0  2.244384     33.93   \n",
       "\n",
       "   Longitude  MedianHouseValue  \n",
       "0    -122.43             1.442  \n",
       "1    -117.39             1.687  \n",
       "2    -122.98             1.621  \n",
       "3    -117.70             2.621  \n",
       "4    -116.93             0.956  "
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "\n",
    "pd.read_csv(train_filepaths[0]).head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Or in text mode:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "MedInc,HouseAge,AveRooms,AveBedrms,Population,AveOccup,Latitude,Longitude,MedianHouseValue\n",
      "3.5214,15.0,3.0499445061043287,1.106548279689234,1447.0,1.6059933407325193,37.63,-122.43,1.442\n",
      "5.3275,5.0,6.490059642147117,0.9910536779324056,3464.0,3.4433399602385686,33.69,-117.39,1.687\n",
      "3.1,29.0,7.5423728813559325,1.5915254237288134,1328.0,2.2508474576271187,38.44,-122.98,1.621\n",
      "7.1736,12.0,6.289002557544757,0.9974424552429667,1054.0,2.6956521739130435,33.55,-117.7,2.621\n"
     ]
    }
   ],
   "source": [
    "with open(train_filepaths[0]) as f:\n",
    "    for i in range(5):\n",
    "        print(f.readline(), end=\"\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['datasets/housing/my_train_00.csv',\n",
       " 'datasets/housing/my_train_01.csv',\n",
       " 'datasets/housing/my_train_02.csv',\n",
       " 'datasets/housing/my_train_03.csv',\n",
       " 'datasets/housing/my_train_04.csv',\n",
       " 'datasets/housing/my_train_05.csv',\n",
       " 'datasets/housing/my_train_06.csv',\n",
       " 'datasets/housing/my_train_07.csv',\n",
       " 'datasets/housing/my_train_08.csv',\n",
       " 'datasets/housing/my_train_09.csv',\n",
       " 'datasets/housing/my_train_10.csv',\n",
       " 'datasets/housing/my_train_11.csv',\n",
       " 'datasets/housing/my_train_12.csv',\n",
       " 'datasets/housing/my_train_13.csv',\n",
       " 'datasets/housing/my_train_14.csv',\n",
       " 'datasets/housing/my_train_15.csv',\n",
       " 'datasets/housing/my_train_16.csv',\n",
       " 'datasets/housing/my_train_17.csv',\n",
       " 'datasets/housing/my_train_18.csv',\n",
       " 'datasets/housing/my_train_19.csv']"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_filepaths"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Building an Input Pipeline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "filepath_dataset = tf.data.Dataset.list_files(train_filepaths, seed=42)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tf.Tensor(b'datasets/housing/my_train_15.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_08.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_03.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_01.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_10.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_05.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_19.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_16.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_02.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_09.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_00.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_07.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_12.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_04.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_17.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_11.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_14.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_18.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_06.csv', shape=(), dtype=string)\n",
      "tf.Tensor(b'datasets/housing/my_train_13.csv', shape=(), dtype=string)\n"
     ]
    }
   ],
   "source": [
    "for filepath in filepath_dataset:\n",
    "    print(filepath)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "n_readers = 5\n",
    "dataset = filepath_dataset.interleave(\n",
    "    lambda filepath: tf.data.TextLineDataset(filepath).skip(1),\n",
    "    cycle_length=n_readers)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "b'4.6477,38.0,5.03728813559322,0.911864406779661,745.0,2.5254237288135593,32.64,-117.07,1.504'\n",
      "b'8.72,44.0,6.163179916317992,1.0460251046025104,668.0,2.794979079497908,34.2,-118.18,4.159'\n",
      "b'3.8456,35.0,5.461346633416459,0.9576059850374065,1154.0,2.8778054862842892,37.96,-122.05,1.598'\n",
      "b'3.3456,37.0,4.514084507042254,0.9084507042253521,458.0,3.2253521126760565,36.67,-121.7,2.526'\n",
      "b'3.6875,44.0,4.524475524475524,0.993006993006993,457.0,3.195804195804196,34.04,-118.15,1.625'\n"
     ]
    }
   ],
   "source": [
    "for line in dataset.take(5):\n",
    "    print(line.numpy())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Notice that field 4 is interpreted as a string."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<tf.Tensor: shape=(), dtype=int32, numpy=1>,\n",
       " <tf.Tensor: shape=(), dtype=float32, numpy=2.0>,\n",
       " <tf.Tensor: shape=(), dtype=float64, numpy=3.0>,\n",
       " <tf.Tensor: shape=(), dtype=string, numpy=b'4'>,\n",
       " <tf.Tensor: shape=(), dtype=float32, numpy=5.0>]"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "record_defaults=[0, np.nan, tf.constant(np.nan, dtype=tf.float64), \"Hello\", tf.constant([])]\n",
    "parsed_fields = tf.io.decode_csv('1,2,3,4,5', record_defaults)\n",
    "parsed_fields"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Notice that all missing fields are replaced with their default value, when provided:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<tf.Tensor: shape=(), dtype=int32, numpy=0>,\n",
       " <tf.Tensor: shape=(), dtype=float32, numpy=nan>,\n",
       " <tf.Tensor: shape=(), dtype=float64, numpy=nan>,\n",
       " <tf.Tensor: shape=(), dtype=string, numpy=b'Hello'>,\n",
       " <tf.Tensor: shape=(), dtype=float32, numpy=5.0>]"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "parsed_fields = tf.io.decode_csv(',,,,5', record_defaults)\n",
    "parsed_fields"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The 5th field is compulsory (since we provided `tf.constant([])` as the \"default value\"), so we get an exception if we do not provide it:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Field 4 is required but missing in record 0! [Op:DecodeCSV]\n"
     ]
    }
   ],
   "source": [
    "try:\n",
    "    parsed_fields = tf.io.decode_csv(',,,,', record_defaults)\n",
    "except tf.errors.InvalidArgumentError as ex:\n",
    "    print(ex)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The number of fields should match exactly the number of fields in the `record_defaults`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Expect 5 fields but have 7 in record 0 [Op:DecodeCSV]\n"
     ]
    }
   ],
   "source": [
    "try:\n",
    "    parsed_fields = tf.io.decode_csv('1,2,3,4,5,6,7', record_defaults)\n",
    "except tf.errors.InvalidArgumentError as ex:\n",
    "    print(ex)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "scrolled": false
   },
   "outputs": [],
   "source": [
    "n_inputs = 8 # X_train.shape[-1]\n",
    "\n",
    "@tf.function\n",
    "def preprocess(line):\n",
    "    defs = [0.] * n_inputs + [tf.constant([], dtype=tf.float32)]\n",
    "    fields = tf.io.decode_csv(line, record_defaults=defs)\n",
    "    x = tf.stack(fields[:-1])\n",
    "    y = tf.stack(fields[-1:])\n",
    "    return (x - X_mean) / X_std, y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(<tf.Tensor: shape=(8,), dtype=float32, numpy=\n",
       " array([ 0.16579157,  1.216324  , -0.05204565, -0.39215982, -0.5277444 ,\n",
       "        -0.2633488 ,  0.8543046 , -1.3072058 ], dtype=float32)>,\n",
       " <tf.Tensor: shape=(1,), dtype=float32, numpy=array([2.782], dtype=float32)>)"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "preprocess(b'4.2083,44.0,5.3232,0.9171,846.0,2.3370,37.47,-122.2,2.782')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "def csv_reader_dataset(filepaths, repeat=1, n_readers=5,\n",
    "                       n_read_threads=None, shuffle_buffer_size=10000,\n",
    "                       n_parse_threads=5, batch_size=32):\n",
    "    dataset = tf.data.Dataset.list_files(filepaths).repeat(repeat)\n",
    "    dataset = dataset.interleave(\n",
    "        lambda filepath: tf.data.TextLineDataset(filepath).skip(1),\n",
    "        cycle_length=n_readers, num_parallel_calls=n_read_threads)\n",
    "    dataset = dataset.shuffle(shuffle_buffer_size)\n",
    "    dataset = dataset.map(preprocess, num_parallel_calls=n_parse_threads)\n",
    "    dataset = dataset.batch(batch_size)\n",
    "    return dataset.prefetch(1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "X = tf.Tensor(\n",
      "[[ 0.5804519  -0.20762321  0.05616303 -0.15191229  0.01343246  0.00604472\n",
      "   1.2525111  -1.3671792 ]\n",
      " [ 5.818099    1.8491895   1.1784915   0.28173092 -1.2496178  -0.3571987\n",
      "   0.7231292  -1.0023477 ]\n",
      " [-0.9253566   0.5834586  -0.7807257  -0.28213993 -0.36530012  0.27389365\n",
      "  -0.76194876  0.72684526]], shape=(3, 8), dtype=float32)\n",
      "y = tf.Tensor(\n",
      "[[1.752]\n",
      " [1.313]\n",
      " [1.535]], shape=(3, 1), dtype=float32)\n",
      "\n",
      "X = tf.Tensor(\n",
      "[[-0.8324941   0.6625668  -0.20741376 -0.18699841 -0.14536144  0.09635526\n",
      "   0.9807942  -0.67250353]\n",
      " [-0.62183803  0.5834586  -0.19862501 -0.3500319  -1.1437552  -0.3363751\n",
      "   1.107282   -0.8674123 ]\n",
      " [ 0.8683102   0.02970133  0.3427381  -0.29872298  0.7124906   0.28026953\n",
      "  -0.72915536  0.86178064]], shape=(3, 8), dtype=float32)\n",
      "y = tf.Tensor(\n",
      "[[0.919]\n",
      " [1.028]\n",
      " [2.182]], shape=(3, 1), dtype=float32)\n",
      "\n"
     ]
    }
   ],
   "source": [
    "tf.random.set_seed(42)\n",
    "\n",
    "train_set = csv_reader_dataset(train_filepaths, batch_size=3)\n",
    "for X_batch, y_batch in train_set.take(2):\n",
    "    print(\"X =\", X_batch)\n",
    "    print(\"y =\", y_batch)\n",
    "    print()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_set = csv_reader_dataset(train_filepaths, repeat=None)\n",
    "valid_set = csv_reader_dataset(valid_filepaths)\n",
    "test_set = csv_reader_dataset(test_filepaths)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "keras.backend.clear_session()\n",
    "np.random.seed(42)\n",
    "tf.random.set_seed(42)\n",
    "\n",
    "model = keras.models.Sequential([\n",
    "    keras.layers.Dense(30, activation=\"relu\", input_shape=X_train.shape[1:]),\n",
    "    keras.layers.Dense(1),\n",
    "])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "model.compile(loss=\"mse\", optimizer=keras.optimizers.SGD(lr=1e-3))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train for 362 steps\n",
      "Epoch 1/10\n",
      "362/362 [==============================] - 1s 2ms/step - loss: 1.4679 - val_loss: 21.5016\n",
      "Epoch 2/10\n",
      "362/362 [==============================] - 0s 1ms/step - loss: 0.8735 - val_loss: 0.6647\n",
      "Epoch 3/10\n",
      "362/362 [==============================] - 1s 1ms/step - loss: 0.6317 - val_loss: 0.6196\n",
      "Epoch 4/10\n",
      "362/362 [==============================] - 1s 1ms/step - loss: 0.5933 - val_loss: 0.5668\n",
      "Epoch 5/10\n",
      "362/362 [==============================] - 1s 2ms/step - loss: 0.5629 - val_loss: 0.5402\n",
      "Epoch 6/10\n",
      "362/362 [==============================] - 1s 2ms/step - loss: 0.5693 - val_loss: 0.5209\n",
      "Epoch 7/10\n",
      "362/362 [==============================] - 1s 1ms/step - loss: 0.5231 - val_loss: 0.6128\n",
      "Epoch 8/10\n",
      "362/362 [==============================] - 0s 1ms/step - loss: 0.5074 - val_loss: 0.4817\n",
      "Epoch 9/10\n",
      "362/362 [==============================] - 0s 1ms/step - loss: 0.4963 - val_loss: 0.4904\n",
      "Epoch 10/10\n",
      "362/362 [==============================] - 0s 1ms/step - loss: 0.5023 - val_loss: 0.4585\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<tensorflow.python.keras.callbacks.History at 0x7fa7404f3f90>"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "batch_size = 32\n",
    "model.fit(train_set, steps_per_epoch=len(X_train) // batch_size, epochs=10,\n",
    "          validation_data=valid_set)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "161/161 [==============================] - 0s 958us/step - loss: 0.4788\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "0.47877517111182955"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.evaluate(test_set, steps=len(X_test) // batch_size)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[2.3576405],\n",
       "       [2.255291 ],\n",
       "       [1.4437604],\n",
       "       ...,\n",
       "       [0.5654393],\n",
       "       [3.9442453],\n",
       "       [1.0232248]], dtype=float32)"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "new_set = test_set.map(lambda X, y: X) # we could instead just pass test_set, Keras would ignore the labels\n",
    "X_new = X_test\n",
    "model.predict(new_set, steps=len(X_new) // batch_size)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Global step 1810/1810"
     ]
    }
   ],
   "source": [
    "optimizer = keras.optimizers.Nadam(lr=0.01)\n",
    "loss_fn = keras.losses.mean_squared_error\n",
    "\n",
    "n_epochs = 5\n",
    "batch_size = 32\n",
    "n_steps_per_epoch = len(X_train) // batch_size\n",
    "total_steps = n_epochs * n_steps_per_epoch\n",
    "global_step = 0\n",
    "for X_batch, y_batch in train_set.take(total_steps):\n",
    "    global_step += 1\n",
    "    print(\"\\rGlobal step {}/{}\".format(global_step, total_steps), end=\"\")\n",
    "    with tf.GradientTape() as tape:\n",
    "        y_pred = model(X_batch)\n",
    "        main_loss = tf.reduce_mean(loss_fn(y_batch, y_pred))\n",
    "        loss = tf.add_n([main_loss] + model.losses)\n",
    "    gradients = tape.gradient(loss, model.trainable_variables)\n",
    "    optimizer.apply_gradients(zip(gradients, model.trainable_variables))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [],
   "source": [
    "keras.backend.clear_session()\n",
    "np.random.seed(42)\n",
    "tf.random.set_seed(42)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "optimizer = keras.optimizers.Nadam(lr=0.01)\n",
    "loss_fn = keras.losses.mean_squared_error\n",
    "\n",
    "@tf.function\n",
    "def train(model, n_epochs, batch_size=32,\n",
    "          n_readers=5, n_read_threads=5, shuffle_buffer_size=10000, n_parse_threads=5):\n",
    "    train_set = csv_reader_dataset(train_filepaths, repeat=n_epochs, n_readers=n_readers,\n",
    "                       n_read_threads=n_read_threads, shuffle_buffer_size=shuffle_buffer_size,\n",
    "                       n_parse_threads=n_parse_threads, batch_size=batch_size)\n",
    "    for X_batch, y_batch in train_set:\n",
    "        with tf.GradientTape() as tape:\n",
    "            y_pred = model(X_batch)\n",
    "            main_loss = tf.reduce_mean(loss_fn(y_batch, y_pred))\n",
    "            loss = tf.add_n([main_loss] + model.losses)\n",
    "        gradients = tape.gradient(loss, model.trainable_variables)\n",
    "        optimizer.apply_gradients(zip(gradients, model.trainable_variables))\n",
    "\n",
    "train(model, 5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [],
   "source": [
    "keras.backend.clear_session()\n",
    "np.random.seed(42)\n",
    "tf.random.set_seed(42)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Global step 100 / 1810\n",
      "Global step 200 / 1810\n",
      "Global step 300 / 1810\n",
      "Global step 400 / 1810\n",
      "Global step 500 / 1810\n",
      "Global step 600 / 1810\n",
      "Global step 700 / 1810\n",
      "Global step 800 / 1810\n",
      "Global step 900 / 1810\n",
      "Global step 1000 / 1810\n",
      "Global step 1100 / 1810\n",
      "Global step 1200 / 1810\n",
      "Global step 1300 / 1810\n",
      "Global step 1400 / 1810\n",
      "Global step 1500 / 1810\n",
      "Global step 1600 / 1810\n",
      "Global step 1700 / 1810\n",
      "Global step 1800 / 1810\n"
     ]
    }
   ],
   "source": [
    "optimizer = keras.optimizers.Nadam(lr=0.01)\n",
    "loss_fn = keras.losses.mean_squared_error\n",
    "\n",
    "@tf.function\n",
    "def train(model, n_epochs, batch_size=32,\n",
    "          n_readers=5, n_read_threads=5, shuffle_buffer_size=10000, n_parse_threads=5):\n",
    "    train_set = csv_reader_dataset(train_filepaths, repeat=n_epochs, n_readers=n_readers,\n",
    "                       n_read_threads=n_read_threads, shuffle_buffer_size=shuffle_buffer_size,\n",
    "                       n_parse_threads=n_parse_threads, batch_size=batch_size)\n",
    "    n_steps_per_epoch = len(X_train) // batch_size\n",
    "    total_steps = n_epochs * n_steps_per_epoch\n",
    "    global_step = 0\n",
    "    for X_batch, y_batch in train_set.take(total_steps):\n",
    "        global_step += 1\n",
    "        if tf.equal(global_step % 100, 0):\n",
    "            tf.print(\"\\rGlobal step\", global_step, \"/\", total_steps)\n",
    "        with tf.GradientTape() as tape:\n",
    "            y_pred = model(X_batch)\n",
    "            main_loss = tf.reduce_mean(loss_fn(y_batch, y_pred))\n",
    "            loss = tf.add_n([main_loss] + model.losses)\n",
    "        gradients = tape.gradient(loss, model.trainable_variables)\n",
    "        optimizer.apply_gradients(zip(gradients, model.trainable_variables))\n",
    "\n",
    "train(model, 5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here is a short description of each method in the `Dataset` class:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "● apply()              Applies a transformation function to this dataset.\n",
      "● as_numpy_iterator()  Returns an iterator which converts all elements of the dataset to numpy.\n",
      "● batch()              Combines consecutive elements of this dataset into batches.\n",
      "● cache()              Caches the elements in this dataset.\n",
      "● concatenate()        Creates a `Dataset` by concatenating the given dataset with this dataset.\n",
      "● element_spec()       The type specification of an element of this dataset.\n",
      "● enumerate()          Enumerates the elements of this dataset.\n",
      "● filter()             Filters this dataset according to `predicate`.\n",
      "● flat_map()           Maps `map_func` across this dataset and flattens the result.\n",
      "● from_generator()     Creates a `Dataset` whose elements are generated by `generator`.\n",
      "● from_tensor_slices() Creates a `Dataset` whose elements are slices of the given tensors.\n",
      "● from_tensors()       Creates a `Dataset` with a single element, comprising the given tensors.\n",
      "● interleave()         Maps `map_func` across this dataset, and interleaves the results.\n",
      "● list_files()         A dataset of all files matching one or more glob patterns.\n",
      "● map()                Maps `map_func` across the elements of this dataset.\n",
      "● options()            Returns the options for this dataset and its inputs.\n",
      "● padded_batch()       Combines consecutive elements of this dataset into padded batches.\n",
      "● prefetch()           Creates a `Dataset` that prefetches elements from this dataset.\n",
      "● range()              Creates a `Dataset` of a step-separated range of values.\n",
      "● reduce()             Reduces the input dataset to a single element.\n",
      "● repeat()             Repeats this dataset so each original value is seen `count` times.\n",
      "● shard()              Creates a `Dataset` that includes only 1/`num_shards` of this dataset.\n",
      "● shuffle()            Randomly shuffles the elements of this dataset.\n",
      "● skip()               Creates a `Dataset` that skips `count` elements from this dataset.\n",
      "● take()               Creates a `Dataset` with at most `count` elements from this dataset.\n",
      "● unbatch()            Splits elements of a dataset into multiple elements.\n",
      "● window()             Combines (nests of) input elements into a dataset of (nests of) windows.\n",
      "● with_options()       Returns a new `tf.data.Dataset` with the given options set.\n",
      "● zip()                Creates a `Dataset` by zipping together the given datasets.\n"
     ]
    }
   ],
   "source": [
    "for m in dir(tf.data.Dataset):\n",
    "    if not (m.startswith(\"_\") or m.endswith(\"_\")):\n",
    "        func = getattr(tf.data.Dataset, m)\n",
    "        if hasattr(func, \"__doc__\"):\n",
    "            print(\"● {:21s}{}\".format(m + \"()\", func.__doc__.split(\"\\n\")[0]))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## The `TFRecord` binary format"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "A TFRecord file is just a list of binary records. You can create one using a `tf.io.TFRecordWriter`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [],
   "source": [
    "with tf.io.TFRecordWriter(\"my_data.tfrecord\") as f:\n",
    "    f.write(b\"This is the first record\")\n",
    "    f.write(b\"And this is the second record\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And you can read it using a `tf.data.TFRecordDataset`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tf.Tensor(b'This is the first record', shape=(), dtype=string)\n",
      "tf.Tensor(b'And this is the second record', shape=(), dtype=string)\n"
     ]
    }
   ],
   "source": [
    "filepaths = [\"my_data.tfrecord\"]\n",
    "dataset = tf.data.TFRecordDataset(filepaths)\n",
    "for item in dataset:\n",
    "    print(item)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "You can read multiple TFRecord files with just one `TFRecordDataset`. By default it will read them one at a time, but if you set `num_parallel_reads=3`, it will read 3 at a time in parallel and interleave their records:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tf.Tensor(b'File 0 record 0', shape=(), dtype=string)\n",
      "tf.Tensor(b'File 1 record 0', shape=(), dtype=string)\n",
      "tf.Tensor(b'File 2 record 0', shape=(), dtype=string)\n",
      "tf.Tensor(b'File 0 record 1', shape=(), dtype=string)\n",
      "tf.Tensor(b'File 1 record 1', shape=(), dtype=string)\n",
      "tf.Tensor(b'File 2 record 1', shape=(), dtype=string)\n",
      "tf.Tensor(b'File 0 record 2', shape=(), dtype=string)\n",
      "tf.Tensor(b'File 1 record 2', shape=(), dtype=string)\n",
      "tf.Tensor(b'File 2 record 2', shape=(), dtype=string)\n",
      "tf.Tensor(b'File 3 record 0', shape=(), dtype=string)\n",
      "tf.Tensor(b'File 4 record 0', shape=(), dtype=string)\n",
      "tf.Tensor(b'File 3 record 1', shape=(), dtype=string)\n",
      "tf.Tensor(b'File 4 record 1', shape=(), dtype=string)\n",
      "tf.Tensor(b'File 3 record 2', shape=(), dtype=string)\n",
      "tf.Tensor(b'File 4 record 2', shape=(), dtype=string)\n"
     ]
    }
   ],
   "source": [
    "filepaths = [\"my_test_{}.tfrecord\".format(i) for i in range(5)]\n",
    "for i, filepath in enumerate(filepaths):\n",
    "    with tf.io.TFRecordWriter(filepath) as f:\n",
    "        for j in range(3):\n",
    "            f.write(\"File {} record {}\".format(i, j).encode(\"utf-8\"))\n",
    "\n",
    "dataset = tf.data.TFRecordDataset(filepaths, num_parallel_reads=3)\n",
    "for item in dataset:\n",
    "    print(item)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [],
   "source": [
    "options = tf.io.TFRecordOptions(compression_type=\"GZIP\")\n",
    "with tf.io.TFRecordWriter(\"my_compressed.tfrecord\", options) as f:\n",
    "    f.write(b\"This is the first record\")\n",
    "    f.write(b\"And this is the second record\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tf.Tensor(b'This is the first record', shape=(), dtype=string)\n",
      "tf.Tensor(b'And this is the second record', shape=(), dtype=string)\n"
     ]
    }
   ],
   "source": [
    "dataset = tf.data.TFRecordDataset([\"my_compressed.tfrecord\"],\n",
    "                                  compression_type=\"GZIP\")\n",
    "for item in dataset:\n",
    "    print(item)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### A Brief Intro to Protocol Buffers"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For this section you need to [install protobuf](https://developers.google.com/protocol-buffers/docs/downloads). In general you will not have to do so when using TensorFlow, as it comes with functions to create and parse protocol buffers of type `tf.train.Example`, which are generally sufficient. However, in this section we will learn about protocol buffers by creating our own simple protobuf definition, so we need the protobuf compiler (`protoc`): we will use it to compile the protobuf definition to a Python module that we can then use in our code."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "First let's write a simple protobuf definition:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Overwriting person.proto\n"
     ]
    }
   ],
   "source": [
    "%%writefile person.proto\n",
    "syntax = \"proto3\";\n",
    "message Person {\n",
    "  string name = 1;\n",
    "  int32 id = 2;\n",
    "  repeated string email = 3;\n",
    "}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And let's compile it (the `--descriptor_set_out` and `--include_imports` options are only required for the `tf.io.decode_proto()` example below):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [],
   "source": [
    "!protoc person.proto --python_out=. --descriptor_set_out=person.desc --include_imports"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "person.desc   person.proto  person_pb2.py\r\n"
     ]
    }
   ],
   "source": [
    "!ls person*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "name: \"Al\"\n",
      "id: 123\n",
      "email: \"a@b.com\"\n",
      "\n"
     ]
    }
   ],
   "source": [
    "from person_pb2 import Person\n",
    "\n",
    "person = Person(name=\"Al\", id=123, email=[\"a@b.com\"])  # create a Person\n",
    "print(person)  # display the Person"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'Al'"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "person.name  # read a field"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [],
   "source": [
    "person.name = \"Alice\"  # modify a field"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'a@b.com'"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "person.email[0]  # repeated fields can be accessed like arrays"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [],
   "source": [
    "person.email.append(\"c@d.com\")  # add an email address"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "b'\\n\\x05Alice\\x10{\\x1a\\x07a@b.com\\x1a\\x07c@d.com'"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s = person.SerializeToString()  # serialize to a byte string\n",
    "s"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "27"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "person2 = Person()  # create a new Person\n",
    "person2.ParseFromString(s)  # parse the byte string (27 bytes)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "person == person2  # now they are equal"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Custom protobuf"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In rare cases, you may want to parse a custom protobuf (like the one we just created) in TensorFlow. For this you can use the `tf.io.decode_proto()` function:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<tf.Tensor: shape=(1,), dtype=string, numpy=array([b'Alice'], dtype=object)>,\n",
       " <tf.Tensor: shape=(1,), dtype=int32, numpy=array([123], dtype=int32)>,\n",
       " <tf.Tensor: shape=(2,), dtype=string, numpy=array([b'a@b.com', b'c@d.com'], dtype=object)>]"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "person_tf = tf.io.decode_proto(\n",
    "    bytes=s,\n",
    "    message_type=\"Person\",\n",
    "    field_names=[\"name\", \"id\", \"email\"],\n",
    "    output_types=[tf.string, tf.int32, tf.string],\n",
    "    descriptor_source=\"person.desc\")\n",
    "\n",
    "person_tf.values"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For more details, see the [`tf.io.decode_proto()`](https://www.tensorflow.org/api_docs/python/tf/io/decode_proto) documentation."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### TensorFlow Protobufs"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here is the definition of the tf.train.Example protobuf:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "```proto\n",
    "syntax = \"proto3\";\n",
    "\n",
    "message BytesList { repeated bytes value = 1; }\n",
    "message FloatList { repeated float value = 1 [packed = true]; }\n",
    "message Int64List { repeated int64 value = 1 [packed = true]; }\n",
    "message Feature {\n",
    "    oneof kind {\n",
    "        BytesList bytes_list = 1;\n",
    "        FloatList float_list = 2;\n",
    "        Int64List int64_list = 3;\n",
    "    }\n",
    "};\n",
    "message Features { map<string, Feature> feature = 1; };\n",
    "message Example { Features features = 1; };\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Warning**: there's currently a bug preventing `from tensorflow.train import X` so we work around it by writing `X = tf.train.X`. See https://github.com/tensorflow/tensorflow/issues/33289 for more details."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [],
   "source": [
    "#from tensorflow.train import BytesList, FloatList, Int64List\n",
    "#from tensorflow.train import Feature, Features, Example\n",
    "BytesList = tf.train.BytesList\n",
    "FloatList = tf.train.FloatList\n",
    "Int64List = tf.train.Int64List\n",
    "Feature = tf.train.Feature\n",
    "Features = tf.train.Features\n",
    "Example = tf.train.Example\n",
    "\n",
    "person_example = Example(\n",
    "    features=Features(\n",
    "        feature={\n",
    "            \"name\": Feature(bytes_list=BytesList(value=[b\"Alice\"])),\n",
    "            \"id\": Feature(int64_list=Int64List(value=[123])),\n",
    "            \"emails\": Feature(bytes_list=BytesList(value=[b\"a@b.com\", b\"c@d.com\"]))\n",
    "        }))\n",
    "\n",
    "with tf.io.TFRecordWriter(\"my_contacts.tfrecord\") as f:\n",
    "    f.write(person_example.SerializeToString())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [],
   "source": [
    "feature_description = {\n",
    "    \"name\": tf.io.FixedLenFeature([], tf.string, default_value=\"\"),\n",
    "    \"id\": tf.io.FixedLenFeature([], tf.int64, default_value=0),\n",
    "    \"emails\": tf.io.VarLenFeature(tf.string),\n",
    "}\n",
    "for serialized_example in tf.data.TFRecordDataset([\"my_contacts.tfrecord\"]):\n",
    "    parsed_example = tf.io.parse_single_example(serialized_example,\n",
    "                                                feature_description)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'emails': <tensorflow.python.framework.sparse_tensor.SparseTensor at 0x7fa77094b490>,\n",
       " 'id': <tf.Tensor: shape=(), dtype=int64, numpy=123>,\n",
       " 'name': <tf.Tensor: shape=(), dtype=string, numpy=b'Alice'>}"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "parsed_example"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'emails': <tensorflow.python.framework.sparse_tensor.SparseTensor at 0x7fa77094b490>,\n",
       " 'id': <tf.Tensor: shape=(), dtype=int64, numpy=123>,\n",
       " 'name': <tf.Tensor: shape=(), dtype=string, numpy=b'Alice'>}"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "parsed_example"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(), dtype=string, numpy=b'a@b.com'>"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "parsed_example[\"emails\"].values[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(2,), dtype=string, numpy=array([b'a@b.com', b'c@d.com'], dtype=object)>"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tf.sparse.to_dense(parsed_example[\"emails\"], default_value=b\"\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(2,), dtype=string, numpy=array([b'a@b.com', b'c@d.com'], dtype=object)>"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "parsed_example[\"emails\"].values"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Putting Images in TFRecords"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.datasets import load_sample_images\n",
    "\n",
    "img = load_sample_images()[\"images\"][0]\n",
    "plt.imshow(img)\n",
    "plt.axis(\"off\")\n",
    "plt.title(\"Original Image\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = tf.io.encode_jpeg(img)\n",
    "example_with_image = Example(features=Features(feature={\n",
    "    \"image\": Feature(bytes_list=BytesList(value=[data.numpy()]))}))\n",
    "serialized_example = example_with_image.SerializeToString()\n",
    "# then save to TFRecord"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [],
   "source": [
    "feature_description = { \"image\": tf.io.VarLenFeature(tf.string) }\n",
    "example_with_image = tf.io.parse_single_example(serialized_example, feature_description)\n",
    "decoded_img = tf.io.decode_jpeg(example_with_image[\"image\"].values[0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Or use `decode_image()` which supports BMP, GIF, JPEG and PNG formats:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [],
   "source": [
    "decoded_img = tf.io.decode_image(example_with_image[\"image\"].values[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.imshow(decoded_img)\n",
    "plt.title(\"Decoded Image\")\n",
    "plt.axis(\"off\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Putting Tensors and Sparse Tensors in TFRecords"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Tensors can be serialized and parsed easily using `tf.io.serialize_tensor()` and `tf.io.parse_tensor()`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(), dtype=string, numpy=b'\\x08\\x01\\x12\\x08\\x12\\x02\\x08\\x03\\x12\\x02\\x08\\x02\"\\x18\\x00\\x00\\x00\\x00\\x00\\x00\\x80?\\x00\\x00\\x00@\\x00\\x00@@\\x00\\x00\\x80@\\x00\\x00\\xa0@'>"
      ]
     },
     "execution_count": 71,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t = tf.constant([[0., 1.], [2., 3.], [4., 5.]])\n",
    "s = tf.io.serialize_tensor(t)\n",
    "s"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(3, 2), dtype=float32, numpy=\n",
       "array([[0., 1.],\n",
       "       [2., 3.],\n",
       "       [4., 5.]], dtype=float32)>"
      ]
     },
     "execution_count": 72,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tf.io.parse_tensor(s, out_type=tf.float32)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(3,), dtype=string, numpy=\n",
       "array([b'\\x08\\t\\x12\\x08\\x12\\x02\\x08\\x02\\x12\\x02\\x08\\x01\"\\x10\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00',\n",
       "       b'\\x08\\x07\\x12\\x04\\x12\\x02\\x08\\x02\"\\x10\\x07\\x07a@b.comc@d.com',\n",
       "       b'\\x08\\t\\x12\\x04\\x12\\x02\\x08\\x01\"\\x08\\x02\\x00\\x00\\x00\\x00\\x00\\x00\\x00'],\n",
       "      dtype=object)>"
      ]
     },
     "execution_count": 73,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "serialized_sparse = tf.io.serialize_sparse(parsed_example[\"emails\"])\n",
    "serialized_sparse"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "value: \"\\010\\t\\022\\010\\022\\002\\010\\002\\022\\002\\010\\001\\\"\\020\\000\\000\\000\\000\\000\\000\\000\\000\\001\\000\\000\\000\\000\\000\\000\\000\"\n",
       "value: \"\\010\\007\\022\\004\\022\\002\\010\\002\\\"\\020\\007\\007a@b.comc@d.com\"\n",
       "value: \"\\010\\t\\022\\004\\022\\002\\010\\001\\\"\\010\\002\\000\\000\\000\\000\\000\\000\\000\""
      ]
     },
     "execution_count": 74,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "BytesList(value=serialized_sparse.numpy())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [],
   "source": [
    "dataset = tf.data.TFRecordDataset([\"my_contacts.tfrecord\"]).batch(10)\n",
    "for serialized_examples in dataset:\n",
    "    parsed_examples = tf.io.parse_example(serialized_examples,\n",
    "                                          feature_description)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'image': <tensorflow.python.framework.sparse_tensor.SparseTensor at 0x7fa7303247d0>}"
      ]
     },
     "execution_count": 76,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "parsed_examples"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Handling Sequential Data Using `SequenceExample`"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "```proto\n",
    "syntax = \"proto3\";\n",
    "\n",
    "message FeatureList { repeated Feature feature = 1; };\n",
    "message FeatureLists { map<string, FeatureList> feature_list = 1; };\n",
    "message SequenceExample {\n",
    "  Features context = 1;\n",
    "  FeatureLists feature_lists = 2;\n",
    "};\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Warning**: there's currently a bug preventing `from tensorflow.train import X` so we work around it by writing `X = tf.train.X`. See https://github.com/tensorflow/tensorflow/issues/33289 for more details."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [],
   "source": [
    "#from tensorflow.train import FeatureList, FeatureLists, SequenceExample\n",
    "FeatureList = tf.train.FeatureList\n",
    "FeatureLists = tf.train.FeatureLists\n",
    "SequenceExample = tf.train.SequenceExample\n",
    "\n",
    "context = Features(feature={\n",
    "    \"author_id\": Feature(int64_list=Int64List(value=[123])),\n",
    "    \"title\": Feature(bytes_list=BytesList(value=[b\"A\", b\"desert\", b\"place\", b\".\"])),\n",
    "    \"pub_date\": Feature(int64_list=Int64List(value=[1623, 12, 25]))\n",
    "})\n",
    "\n",
    "content = [[\"When\", \"shall\", \"we\", \"three\", \"meet\", \"again\", \"?\"],\n",
    "           [\"In\", \"thunder\", \",\", \"lightning\", \",\", \"or\", \"in\", \"rain\", \"?\"]]\n",
    "comments = [[\"When\", \"the\", \"hurlyburly\", \"'s\", \"done\", \".\"],\n",
    "            [\"When\", \"the\", \"battle\", \"'s\", \"lost\", \"and\", \"won\", \".\"]]\n",
    "\n",
    "def words_to_feature(words):\n",
    "    return Feature(bytes_list=BytesList(value=[word.encode(\"utf-8\")\n",
    "                                               for word in words]))\n",
    "\n",
    "content_features = [words_to_feature(sentence) for sentence in content]\n",
    "comments_features = [words_to_feature(comment) for comment in comments]\n",
    "            \n",
    "sequence_example = SequenceExample(\n",
    "    context=context,\n",
    "    feature_lists=FeatureLists(feature_list={\n",
    "        \"content\": FeatureList(feature=content_features),\n",
    "        \"comments\": FeatureList(feature=comments_features)\n",
    "    }))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "context {\n",
       "  feature {\n",
       "    key: \"author_id\"\n",
       "    value {\n",
       "      int64_list {\n",
       "        value: 123\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  feature {\n",
       "    key: \"pub_date\"\n",
       "    value {\n",
       "      int64_list {\n",
       "        value: 1623\n",
       "        value: 12\n",
       "        value: 25\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  feature {\n",
       "    key: \"title\"\n",
       "    value {\n",
       "      bytes_list {\n",
       "        value: \"A\"\n",
       "        value: \"desert\"\n",
       "        value: \"place\"\n",
       "        value: \".\"\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}\n",
       "feature_lists {\n",
       "  feature_list {\n",
       "    key: \"comments\"\n",
       "    value {\n",
       "      feature {\n",
       "        bytes_list {\n",
       "          value: \"When\"\n",
       "          value: \"the\"\n",
       "          value: \"hurlyburly\"\n",
       "          value: \"\\'s\"\n",
       "          value: \"done\"\n",
       "          value: \".\"\n",
       "        }\n",
       "      }\n",
       "      feature {\n",
       "        bytes_list {\n",
       "          value: \"When\"\n",
       "          value: \"the\"\n",
       "          value: \"battle\"\n",
       "          value: \"\\'s\"\n",
       "          value: \"lost\"\n",
       "          value: \"and\"\n",
       "          value: \"won\"\n",
       "          value: \".\"\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  feature_list {\n",
       "    key: \"content\"\n",
       "    value {\n",
       "      feature {\n",
       "        bytes_list {\n",
       "          value: \"When\"\n",
       "          value: \"shall\"\n",
       "          value: \"we\"\n",
       "          value: \"three\"\n",
       "          value: \"meet\"\n",
       "          value: \"again\"\n",
       "          value: \"?\"\n",
       "        }\n",
       "      }\n",
       "      feature {\n",
       "        bytes_list {\n",
       "          value: \"In\"\n",
       "          value: \"thunder\"\n",
       "          value: \",\"\n",
       "          value: \"lightning\"\n",
       "          value: \",\"\n",
       "          value: \"or\"\n",
       "          value: \"in\"\n",
       "          value: \"rain\"\n",
       "          value: \"?\"\n",
       "        }\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "}"
      ]
     },
     "execution_count": 78,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sequence_example"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [],
   "source": [
    "serialized_sequence_example = sequence_example.SerializeToString()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [],
   "source": [
    "context_feature_descriptions = {\n",
    "    \"author_id\": tf.io.FixedLenFeature([], tf.int64, default_value=0),\n",
    "    \"title\": tf.io.VarLenFeature(tf.string),\n",
    "    \"pub_date\": tf.io.FixedLenFeature([3], tf.int64, default_value=[0, 0, 0]),\n",
    "}\n",
    "sequence_feature_descriptions = {\n",
    "    \"content\": tf.io.VarLenFeature(tf.string),\n",
    "    \"comments\": tf.io.VarLenFeature(tf.string),\n",
    "}\n",
    "parsed_context, parsed_feature_lists = tf.io.parse_single_sequence_example(\n",
    "    serialized_sequence_example, context_feature_descriptions,\n",
    "    sequence_feature_descriptions)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'title': <tensorflow.python.framework.sparse_tensor.SparseTensor at 0x7fa785e1cd50>,\n",
       " 'author_id': <tf.Tensor: shape=(), dtype=int64, numpy=123>,\n",
       " 'pub_date': <tf.Tensor: shape=(3,), dtype=int64, numpy=array([1623,   12,   25])>}"
      ]
     },
     "execution_count": 81,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "parsed_context"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(4,), dtype=string, numpy=array([b'A', b'desert', b'place', b'.'], dtype=object)>"
      ]
     },
     "execution_count": 82,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "parsed_context[\"title\"].values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'comments': <tensorflow.python.framework.sparse_tensor.SparseTensor at 0x7fa785e31550>,\n",
       " 'content': <tensorflow.python.framework.sparse_tensor.SparseTensor at 0x7fa785e31350>}"
      ]
     },
     "execution_count": 83,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "parsed_feature_lists"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<tf.RaggedTensor [[b'When', b'shall', b'we', b'three', b'meet', b'again', b'?'], [b'In', b'thunder', b',', b'lightning', b',', b'or', b'in', b'rain', b'?']]>\n"
     ]
    }
   ],
   "source": [
    "print(tf.RaggedTensor.from_sparse(parsed_feature_lists[\"content\"]))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# The Features API"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's use the variant of the California housing dataset that we used in Chapter 2, since it contains categorical features and missing values:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "import tarfile\n",
    "import urllib\n",
    "\n",
    "DOWNLOAD_ROOT = \"https://raw.githubusercontent.com/ageron/handson-ml2/master/\"\n",
    "HOUSING_PATH = os.path.join(\"datasets\", \"housing\")\n",
    "HOUSING_URL = DOWNLOAD_ROOT + \"datasets/housing/housing.tgz\"\n",
    "\n",
    "def fetch_housing_data(housing_url=HOUSING_URL, housing_path=HOUSING_PATH):\n",
    "    os.makedirs(housing_path, exist_ok=True)\n",
    "    tgz_path = os.path.join(housing_path, \"housing.tgz\")\n",
    "    urllib.request.urlretrieve(housing_url, tgz_path)\n",
    "    housing_tgz = tarfile.open(tgz_path)\n",
    "    housing_tgz.extractall(path=housing_path)\n",
    "    housing_tgz.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {},
   "outputs": [],
   "source": [
    "fetch_housing_data()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "\n",
    "def load_housing_data(housing_path=HOUSING_PATH):\n",
    "    csv_path = os.path.join(housing_path, \"housing.csv\")\n",
    "    return pd.read_csv(csv_path)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>longitude</th>\n",
       "      <th>latitude</th>\n",
       "      <th>housing_median_age</th>\n",
       "      <th>total_rooms</th>\n",
       "      <th>total_bedrooms</th>\n",
       "      <th>population</th>\n",
       "      <th>households</th>\n",
       "      <th>median_income</th>\n",
       "      <th>median_house_value</th>\n",
       "      <th>ocean_proximity</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>-122.23</td>\n",
       "      <td>37.88</td>\n",
       "      <td>41.0</td>\n",
       "      <td>880.0</td>\n",
       "      <td>129.0</td>\n",
       "      <td>322.0</td>\n",
       "      <td>126.0</td>\n",
       "      <td>8.3252</td>\n",
       "      <td>452600.0</td>\n",
       "      <td>NEAR BAY</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>-122.22</td>\n",
       "      <td>37.86</td>\n",
       "      <td>21.0</td>\n",
       "      <td>7099.0</td>\n",
       "      <td>1106.0</td>\n",
       "      <td>2401.0</td>\n",
       "      <td>1138.0</td>\n",
       "      <td>8.3014</td>\n",
       "      <td>358500.0</td>\n",
       "      <td>NEAR BAY</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>-122.24</td>\n",
       "      <td>37.85</td>\n",
       "      <td>52.0</td>\n",
       "      <td>1467.0</td>\n",
       "      <td>190.0</td>\n",
       "      <td>496.0</td>\n",
       "      <td>177.0</td>\n",
       "      <td>7.2574</td>\n",
       "      <td>352100.0</td>\n",
       "      <td>NEAR BAY</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>-122.25</td>\n",
       "      <td>37.85</td>\n",
       "      <td>52.0</td>\n",
       "      <td>1274.0</td>\n",
       "      <td>235.0</td>\n",
       "      <td>558.0</td>\n",
       "      <td>219.0</td>\n",
       "      <td>5.6431</td>\n",
       "      <td>341300.0</td>\n",
       "      <td>NEAR BAY</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>-122.25</td>\n",
       "      <td>37.85</td>\n",
       "      <td>52.0</td>\n",
       "      <td>1627.0</td>\n",
       "      <td>280.0</td>\n",
       "      <td>565.0</td>\n",
       "      <td>259.0</td>\n",
       "      <td>3.8462</td>\n",
       "      <td>342200.0</td>\n",
       "      <td>NEAR BAY</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   longitude  latitude  housing_median_age  total_rooms  total_bedrooms  \\\n",
       "0    -122.23     37.88                41.0        880.0           129.0   \n",
       "1    -122.22     37.86                21.0       7099.0          1106.0   \n",
       "2    -122.24     37.85                52.0       1467.0           190.0   \n",
       "3    -122.25     37.85                52.0       1274.0           235.0   \n",
       "4    -122.25     37.85                52.0       1627.0           280.0   \n",
       "\n",
       "   population  households  median_income  median_house_value ocean_proximity  \n",
       "0       322.0       126.0         8.3252            452600.0        NEAR BAY  \n",
       "1      2401.0      1138.0         8.3014            358500.0        NEAR BAY  \n",
       "2       496.0       177.0         7.2574            352100.0        NEAR BAY  \n",
       "3       558.0       219.0         5.6431            341300.0        NEAR BAY  \n",
       "4       565.0       259.0         3.8462            342200.0        NEAR BAY  "
      ]
     },
     "execution_count": 88,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "housing = load_housing_data()\n",
    "housing.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {},
   "outputs": [],
   "source": [
    "housing_median_age = tf.feature_column.numeric_column(\"housing_median_age\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {},
   "outputs": [],
   "source": [
    "age_mean, age_std = X_mean[1], X_std[1]  # The median age is column in 1\n",
    "housing_median_age = tf.feature_column.numeric_column(\n",
    "    \"housing_median_age\", normalizer_fn=lambda x: (x - age_mean) / age_std)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [],
   "source": [
    "median_income = tf.feature_column.numeric_column(\"median_income\")\n",
    "bucketized_income = tf.feature_column.bucketized_column(\n",
    "    median_income, boundaries=[1.5, 3., 4.5, 6.])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "BucketizedColumn(source_column=NumericColumn(key='median_income', shape=(1,), default_value=None, dtype=tf.float32, normalizer_fn=None), boundaries=(1.5, 3.0, 4.5, 6.0))"
      ]
     },
     "execution_count": 92,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "bucketized_income"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {},
   "outputs": [],
   "source": [
    "ocean_prox_vocab = ['<1H OCEAN', 'INLAND', 'ISLAND', 'NEAR BAY', 'NEAR OCEAN']\n",
    "ocean_proximity = tf.feature_column.categorical_column_with_vocabulary_list(\n",
    "    \"ocean_proximity\", ocean_prox_vocab)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "VocabularyListCategoricalColumn(key='ocean_proximity', vocabulary_list=('<1H OCEAN', 'INLAND', 'ISLAND', 'NEAR BAY', 'NEAR OCEAN'), dtype=tf.string, default_value=-1, num_oov_buckets=0)"
      ]
     },
     "execution_count": 94,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ocean_proximity"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "HashedCategoricalColumn(key='city', hash_bucket_size=1000, dtype=tf.string)"
      ]
     },
     "execution_count": 95,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Just an example, it's not used later on\n",
    "city_hash = tf.feature_column.categorical_column_with_hash_bucket(\n",
    "    \"city\", hash_bucket_size=1000)\n",
    "city_hash"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [],
   "source": [
    "bucketized_age = tf.feature_column.bucketized_column(\n",
    "    housing_median_age, boundaries=[-1., -0.5, 0., 0.5, 1.]) # age was scaled\n",
    "age_and_ocean_proximity = tf.feature_column.crossed_column(\n",
    "    [bucketized_age, ocean_proximity], hash_bucket_size=100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [],
   "source": [
    "latitude = tf.feature_column.numeric_column(\"latitude\")\n",
    "longitude = tf.feature_column.numeric_column(\"longitude\")\n",
    "bucketized_latitude = tf.feature_column.bucketized_column(\n",
    "    latitude, boundaries=list(np.linspace(32., 42., 20 - 1)))\n",
    "bucketized_longitude = tf.feature_column.bucketized_column(\n",
    "    longitude, boundaries=list(np.linspace(-125., -114., 20 - 1)))\n",
    "location = tf.feature_column.crossed_column(\n",
    "    [bucketized_latitude, bucketized_longitude], hash_bucket_size=1000)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {},
   "outputs": [],
   "source": [
    "ocean_proximity_one_hot = tf.feature_column.indicator_column(ocean_proximity)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {},
   "outputs": [],
   "source": [
    "ocean_proximity_embed = tf.feature_column.embedding_column(ocean_proximity,\n",
    "                                                           dimension=2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Using Feature Columns for Parsing"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {},
   "outputs": [],
   "source": [
    "median_house_value = tf.feature_column.numeric_column(\"median_house_value\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'housing_median_age': FixedLenFeature(shape=(1,), dtype=tf.float32, default_value=None),\n",
       " 'median_house_value': FixedLenFeature(shape=(1,), dtype=tf.float32, default_value=None)}"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "columns = [housing_median_age, median_house_value]\n",
    "feature_descriptions = tf.feature_column.make_parse_example_spec(columns)\n",
    "feature_descriptions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {},
   "outputs": [],
   "source": [
    "with tf.io.TFRecordWriter(\"my_data_with_features.tfrecords\") as f:\n",
    "    for x, y in zip(X_train[:, 1:2], y_train):\n",
    "        example = Example(features=Features(feature={\n",
    "            \"housing_median_age\": Feature(float_list=FloatList(value=[x])),\n",
    "            \"median_house_value\": Feature(float_list=FloatList(value=[y]))\n",
    "        }))\n",
    "        f.write(example.SerializeToString())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "metadata": {},
   "outputs": [],
   "source": [
    "keras.backend.clear_session()\n",
    "np.random.seed(42)\n",
    "tf.random.set_seed(42)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {},
   "outputs": [],
   "source": [
    "def parse_examples(serialized_examples):\n",
    "    examples = tf.io.parse_example(serialized_examples, feature_descriptions)\n",
    "    targets = examples.pop(\"median_house_value\") # separate the targets\n",
    "    return examples, targets\n",
    "\n",
    "batch_size = 32\n",
    "dataset = tf.data.TFRecordDataset([\"my_data_with_features.tfrecords\"])\n",
    "dataset = dataset.repeat().shuffle(10000).batch(batch_size).map(parse_examples)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Warning**: the `DenseFeatures` layer currently does not work with the Functional API, see [TF issue #27416](https://github.com/tensorflow/tensorflow/issues/27416). Hopefully this will be resolved before the final release of TF 2.0."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train for 362 steps\n",
      "Epoch 1/5\n",
      "362/362 [==============================] - 0s 1ms/step - loss: 3.8260 - accuracy: 0.0016\n",
      "Epoch 2/5\n",
      "362/362 [==============================] - 0s 681us/step - loss: 1.8512 - accuracy: 0.0024\n",
      "Epoch 3/5\n",
      "362/362 [==============================] - 0s 676us/step - loss: 1.4748 - accuracy: 0.0032\n",
      "Epoch 4/5\n",
      "362/362 [==============================] - 0s 693us/step - loss: 1.3447 - accuracy: 0.0028\n",
      "Epoch 5/5\n",
      "362/362 [==============================] - 0s 754us/step - loss: 1.3325 - accuracy: 0.0032\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<tensorflow.python.keras.callbacks.History at 0x7fa791219e90>"
      ]
     },
     "execution_count": 105,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "columns_without_target = columns[:-1]\n",
    "model = keras.models.Sequential([\n",
    "    keras.layers.DenseFeatures(feature_columns=columns_without_target),\n",
    "    keras.layers.Dense(1)\n",
    "])\n",
    "model.compile(loss=\"mse\",\n",
    "              optimizer=keras.optimizers.SGD(lr=1e-3),\n",
    "              metrics=[\"accuracy\"])\n",
    "model.fit(dataset, steps_per_epoch=len(X_train) // batch_size, epochs=5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(3, 7), dtype=float32, numpy=\n",
       "array([[ 0.        ,  0.        ,  1.        ,  0.        ,  0.        ,\n",
       "        -0.14504611,  0.7563394 ],\n",
       "       [ 0.        ,  0.        ,  0.        ,  0.        ,  1.        ,\n",
       "        -1.1119912 ,  0.56957847],\n",
       "       [ 1.        ,  0.        ,  0.        ,  0.        ,  0.        ,\n",
       "        -1.1119912 ,  0.56957847]], dtype=float32)>"
      ]
     },
     "execution_count": 106,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "some_columns = [ocean_proximity_embed, bucketized_income]\n",
    "dense_features = keras.layers.DenseFeatures(some_columns)\n",
    "dense_features({\n",
    "    \"ocean_proximity\": [[\"NEAR OCEAN\"], [\"INLAND\"], [\"INLAND\"]],\n",
    "    \"median_income\": [[3.], [7.2], [1.]]\n",
    "})"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# TF Transform"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "metadata": {},
   "outputs": [],
   "source": [
    "try:\n",
    "    import tensorflow_transform as tft\n",
    "\n",
    "    def preprocess(inputs):  # inputs is a batch of input features\n",
    "        median_age = inputs[\"housing_median_age\"]\n",
    "        ocean_proximity = inputs[\"ocean_proximity\"]\n",
    "        standardized_age = tft.scale_to_z_score(median_age - tft.mean(median_age))\n",
    "        ocean_proximity_id = tft.compute_and_apply_vocabulary(ocean_proximity)\n",
    "        return {\n",
    "            \"standardized_median_age\": standardized_age,\n",
    "            \"ocean_proximity_id\": ocean_proximity_id\n",
    "        }\n",
    "except ImportError:\n",
    "    print(\"TF Transform is not installed. Try running: pip3 install -U tensorflow-transform\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# TensorFlow Datasets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "metadata": {},
   "outputs": [],
   "source": [
    "import tensorflow_datasets as tfds\n",
    "\n",
    "datasets = tfds.load(name=\"mnist\")\n",
    "mnist_train, mnist_test = datasets[\"train\"], datasets[\"test\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['abstract_reasoning', 'aeslc', 'aflw2k3d', 'amazon_us_reviews', 'arc', 'bair_robot_pushing_small', 'beans', 'big_patent', 'bigearthnet', 'billsum', 'binarized_mnist', 'binary_alpha_digits', 'c4', 'caltech101', 'caltech_birds2010', 'caltech_birds2011', 'cars196', 'cassava', 'cats_vs_dogs', 'celeb_a', 'celeb_a_hq', 'cfq', 'chexpert', 'cifar10', 'cifar100', 'cifar10_1', 'cifar10_corrupted', 'citrus_leaves', 'cityscapes', 'civil_comments', 'clevr', 'cmaterdb', 'cnn_dailymail', 'coco', 'coil100', 'colorectal_histology', 'colorectal_histology_large', 'cos_e', 'curated_breast_imaging_ddsm', 'cycle_gan', 'deep_weeds', 'definite_pronoun_resolution', 'diabetic_retinopathy_detection', 'div2k', 'dmlab', 'downsampled_imagenet', 'dsprites', 'dtd', 'duke_ultrasound', 'dummy_dataset_shared_generator', 'dummy_mnist', 'emnist', 'eraser_multi_rc', 'esnli', 'eurosat', 'fashion_mnist', 'flic', 'flores', 'food101', 'gap', 'gigaword', 'glue', 'groove', 'higgs', 'horses_or_humans', 'i_naturalist2017', 'image_label_folder', 'imagenet2012', 'imagenet2012_corrupted', 'imagenet_resized', 'imagenette', 'imagewang', 'imdb_reviews', 'iris', 'kitti', 'kmnist', 'lfw', 'librispeech', 'librispeech_lm', 'libritts', 'lm1b', 'lost_and_found', 'lsun', 'malaria', 'math_dataset', 'mnist', 'mnist_corrupted', 'movie_rationales', 'moving_mnist', 'multi_news', 'multi_nli', 'multi_nli_mismatch', 'natural_questions', 'newsroom', 'nsynth', 'omniglot', 'open_images_v4', 'opinosis', 'oxford_flowers102', 'oxford_iiit_pet', 'para_crawl', 'patch_camelyon', 'pet_finder', 'places365_small', 'plant_leaves', 'plant_village', 'plantae_k', 'qa4mre', 'quickdraw_bitmap', 'reddit_tifu', 'resisc45', 'rock_paper_scissors', 'rock_you', 'scan', 'scene_parse150', 'scicite', 'scientific_papers', 'shapes3d', 'smallnorb', 'snli', 'so2sat', 'speech_commands', 'squad', 'stanford_dogs', 'stanford_online_products', 'starcraft_video', 'sun397', 'super_glue', 'svhn_cropped', 'ted_hrlr_translate', 'ted_multi_translate', 'tf_flowers', 'the300w_lp', 'tiny_shakespeare', 'titanic', 'trivia_qa', 'uc_merced', 'ucf101', 'vgg_face2', 'visual_domain_decathlon', 'voc', 'wider_face', 'wikihow', 'wikipedia', 'wmt14_translate', 'wmt15_translate', 'wmt16_translate', 'wmt17_translate', 'wmt18_translate', 'wmt19_translate', 'wmt_t2t_translate', 'wmt_translate', 'xnli', 'xsum', 'yelp_polarity_reviews']\n"
     ]
    }
   ],
   "source": [
    "print(tfds.list_builders())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x216 with 5 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(6,3))\n",
    "mnist_train = mnist_train.repeat(5).batch(32).prefetch(1)\n",
    "for item in mnist_train:\n",
    "    images = item[\"image\"]\n",
    "    labels = item[\"label\"]\n",
    "    for index in range(5):\n",
    "        plt.subplot(1, 5, index + 1)\n",
    "        image = images[index, ..., 0]\n",
    "        label = labels[index].numpy()\n",
    "        plt.imshow(image, cmap=\"binary\")\n",
    "        plt.title(label)\n",
    "        plt.axis(\"off\")\n",
    "    break # just showing part of the first batch"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(32, 28, 28, 1)\n",
      "[4 1 0 7 8 1 2 7 1 6 6 4 7 7 3 3 7 9 9 1 0 6 6 9 9 4 8 9 4 7 3 3]\n"
     ]
    }
   ],
   "source": [
    "datasets = tfds.load(name=\"mnist\")\n",
    "mnist_train, mnist_test = datasets[\"train\"], datasets[\"test\"]\n",
    "mnist_train = mnist_train.repeat(5).batch(32)\n",
    "mnist_train = mnist_train.map(lambda items: (items[\"image\"], items[\"label\"]))\n",
    "mnist_train = mnist_train.prefetch(1)\n",
    "for images, labels in mnist_train.take(1):\n",
    "    print(images.shape)\n",
    "    print(labels.numpy())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "metadata": {},
   "outputs": [],
   "source": [
    "keras.backend.clear_session()\n",
    "np.random.seed(42)\n",
    "tf.random.set_seed(42)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 113,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train for 1875 steps\n",
      "Epoch 1/5\n",
      "1875/1875 [==============================] - 3s 2ms/step - loss: 32.1418 - accuracy: 0.8416A: 0s - loss: 32.7813 - accuracy:\n",
      "Epoch 2/5\n",
      "1875/1875 [==============================] - 3s 2ms/step - loss: 25.9586 - accuracy: 0.8686\n",
      "Epoch 3/5\n",
      "1875/1875 [==============================] - 3s 2ms/step - loss: 24.9012 - accuracy: 0.8738A: 0s - loss: 24.9682 - accuracy:\n",
      "Epoch 4/5\n",
      "1875/1875 [==============================] - 3s 1ms/step - loss: 24.4328 - accuracy: 0.8759\n",
      "Epoch 5/5\n",
      "1875/1875 [==============================] - 2s 1ms/step - loss: 23.8487 - accuracy: 0.8784\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<tensorflow.python.keras.callbacks.History at 0x7fa73047cb50>"
      ]
     },
     "execution_count": 113,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "datasets = tfds.load(name=\"mnist\", batch_size=32, as_supervised=True)\n",
    "mnist_train = datasets[\"train\"].repeat().prefetch(1)\n",
    "model = keras.models.Sequential([\n",
    "    keras.layers.Flatten(input_shape=[28, 28, 1]),\n",
    "    keras.layers.Lambda(lambda images: tf.cast(images, tf.float32)),\n",
    "    keras.layers.Dense(10, activation=\"softmax\")])\n",
    "model.compile(loss=\"sparse_categorical_crossentropy\",\n",
    "              optimizer=keras.optimizers.SGD(lr=1e-3),\n",
    "              metrics=[\"accuracy\"])\n",
    "model.fit(mnist_train, steps_per_epoch=60000 // 32, epochs=5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# TensorFlow Hub"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "metadata": {},
   "outputs": [],
   "source": [
    "keras.backend.clear_session()\n",
    "np.random.seed(42)\n",
    "tf.random.set_seed(42)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model: \"sequential\"\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "keras_layer (KerasLayer)     (None, 50)                48190600  \n",
      "_________________________________________________________________\n",
      "dense (Dense)                (None, 16)                816       \n",
      "_________________________________________________________________\n",
      "dense_1 (Dense)              (None, 1)                 17        \n",
      "=================================================================\n",
      "Total params: 48,191,433\n",
      "Trainable params: 833\n",
      "Non-trainable params: 48,190,600\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "import tensorflow_hub as hub\n",
    "\n",
    "hub_layer = hub.KerasLayer(\"https://tfhub.dev/google/tf2-preview/nnlm-en-dim50/1\",\n",
    "                           output_shape=[50], input_shape=[], dtype=tf.string)\n",
    "\n",
    "model = keras.Sequential()\n",
    "model.add(hub_layer)\n",
    "model.add(keras.layers.Dense(16, activation='relu'))\n",
    "model.add(keras.layers.Dense(1, activation='sigmoid'))\n",
    "\n",
    "model.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "metadata": {},
   "outputs": [],
   "source": [
    "sentences = tf.constant([\"It was a great movie\", \"The actors were amazing\"])\n",
    "embeddings = hub_layer(sentences)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(2, 50), dtype=float32, numpy=\n",
       "array([[ 7.45939985e-02,  2.76720114e-02,  9.38646123e-02,\n",
       "         1.25124469e-01,  5.40293928e-04, -1.09435350e-01,\n",
       "         1.34755149e-01, -9.57818255e-02, -1.85177118e-01,\n",
       "        -1.69703495e-02,  1.75612606e-02, -9.06603858e-02,\n",
       "         1.12110220e-01,  1.04646273e-01,  3.87700424e-02,\n",
       "        -7.71859884e-02, -3.12189370e-01,  6.99466765e-02,\n",
       "        -4.88970093e-02, -2.99049795e-01,  1.31183028e-01,\n",
       "        -2.12630898e-01,  6.96169436e-02,  1.63592950e-01,\n",
       "         1.05169769e-02,  7.79720694e-02, -2.55230188e-01,\n",
       "        -1.80790052e-01,  2.93739915e-01,  1.62875261e-02,\n",
       "        -2.80566931e-01,  1.60284728e-01,  9.87277832e-03,\n",
       "         8.44555616e-04,  8.39456245e-02,  3.24002892e-01,\n",
       "         1.53253034e-01, -3.01048346e-02,  8.94618109e-02,\n",
       "        -2.39153411e-02, -1.50188789e-01, -1.81733668e-02,\n",
       "        -1.20483577e-01,  1.32937476e-01, -3.35325629e-01,\n",
       "        -1.46504581e-01, -1.25251599e-02, -1.64428815e-01,\n",
       "        -7.00765476e-02,  3.60923223e-02],\n",
       "       [-1.56998575e-01,  4.24599349e-02, -5.57703003e-02,\n",
       "        -8.08446854e-03,  1.23733155e-01,  3.89427543e-02,\n",
       "        -4.37901802e-02, -1.86987907e-01, -2.29341656e-01,\n",
       "        -1.27766818e-01,  3.83025259e-02, -1.07057482e-01,\n",
       "        -6.11584112e-02,  2.49654502e-01, -1.39712945e-01,\n",
       "        -3.91289443e-02, -1.35873526e-01, -3.58613044e-01,\n",
       "         2.53462754e-02, -1.58370987e-01, -1.38350084e-01,\n",
       "        -3.90771806e-01, -6.63642734e-02, -3.24838236e-02,\n",
       "        -2.20453963e-02, -1.68282315e-01, -7.40613639e-02,\n",
       "        -2.49074101e-02,  2.46460736e-01,  9.87201929e-05,\n",
       "        -1.85390845e-01, -4.92824614e-02,  1.09015472e-01,\n",
       "        -9.54203904e-02, -1.60352528e-01, -2.59811729e-02,\n",
       "         1.13778859e-01, -2.09578887e-01,  2.18261331e-01,\n",
       "        -3.11211571e-02, -6.12562597e-02, -8.66057724e-02,\n",
       "        -1.10762455e-01, -5.73977083e-03, -1.08923554e-01,\n",
       "        -1.72919363e-01,  1.00515485e-01, -5.64153939e-02,\n",
       "        -4.97694984e-02, -1.07776590e-01]], dtype=float32)>"
      ]
     },
     "execution_count": 117,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "embeddings"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Exercises\n",
    "\n",
    "## 1. to 8.\n",
    "See Appendix A\n",
    "\n",
    "## 9.\n",
    "### a.\n",
    "_Exercise: Load the Fashion MNIST dataset (introduced in Chapter 10); split it into a training set, a validation set, and a test set; shuffle the training set; and save each dataset to multiple TFRecord files. Each record should be a serialized `Example` protobuf with two features: the serialized image (use `tf.io.serialize_tensor()` to serialize each image), and the label. Note: for large images, you could use `tf.io.encode_jpeg()` instead. This would save a lot of space, but it would lose a bit of image quality._"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "metadata": {},
   "outputs": [],
   "source": [
    "(X_train_full, y_train_full), (X_test, y_test) = keras.datasets.fashion_mnist.load_data()\n",
    "X_valid, X_train = X_train_full[:5000], X_train_full[5000:]\n",
    "y_valid, y_train = y_train_full[:5000], y_train_full[5000:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 119,
   "metadata": {},
   "outputs": [],
   "source": [
    "keras.backend.clear_session()\n",
    "np.random.seed(42)\n",
    "tf.random.set_seed(42)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_set = tf.data.Dataset.from_tensor_slices((X_train, y_train)).shuffle(len(X_train))\n",
    "valid_set = tf.data.Dataset.from_tensor_slices((X_valid, y_valid))\n",
    "test_set = tf.data.Dataset.from_tensor_slices((X_test, y_test))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 121,
   "metadata": {},
   "outputs": [],
   "source": [
    "def create_example(image, label):\n",
    "    image_data = tf.io.serialize_tensor(image)\n",
    "    #image_data = tf.io.encode_jpeg(image[..., np.newaxis])\n",
    "    return Example(\n",
    "        features=Features(\n",
    "            feature={\n",
    "                \"image\": Feature(bytes_list=BytesList(value=[image_data.numpy()])),\n",
    "                \"label\": Feature(int64_list=Int64List(value=[label])),\n",
    "            }))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 122,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "features {\n",
      "  feature {\n",
      "    key: \"image\"\n",
      "    value {\n",
      "      bytes_list {\n",
      "        value: \"\\010\\004\\022\\010\\022\\002\\010\\034\\022\\002\\010\\034\\\"\\220\\006\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\001\\000\\000\\rI\\000\\000\\001\\004\\000\\000\\000\\000\\001\\001\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\003\\000$\\210\\177>6\\000\\000\\000\\001\\003\\004\\000\\000\\003\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\006\\000f\\314\\260\\206\\220{\\027\\000\\000\\000\\000\\014\\n\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\233\\354\\317\\262k\\234\\241m@\\027M\\202H\\017\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\001\\000E\\317\\337\\332\\330\\330\\243\\177yz\\222\\215X\\254B\\000\\000\\000\\000\\000\\000\\000\\000\\000\\001\\001\\001\\000\\310\\350\\350\\351\\345\\337\\337\\327\\325\\244\\177{\\304\\345\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\267\\341\\330\\337\\344\\353\\343\\340\\336\\340\\335\\337\\365\\255\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\301\\344\\332\\325\\306\\264\\324\\322\\323\\325\\337\\334\\363\\312\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\001\\003\\000\\014\\333\\334\\324\\332\\300\\251\\343\\320\\332\\340\\324\\342\\305\\3214\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\006\\000c\\364\\336\\334\\332\\313\\306\\335\\327\\325\\336\\334\\365w\\2478\\000\\000\\000\\000\\000\\000\\000\\000\\000\\004\\000\\0007\\354\\344\\346\\344\\360\\350\\325\\332\\337\\352\\331\\331\\321\\\\\\000\\000\\000\\001\\004\\006\\007\\002\\000\\000\\000\\000\\000\\355\\342\\331\\337\\336\\333\\336\\335\\330\\337\\345\\327\\332\\377M\\000\\000\\003\\000\\000\\000\\000\\000\\000\\000>\\221\\314\\344\\317\\325\\335\\332\\320\\323\\332\\340\\337\\333\\327\\340\\364\\237\\000\\000\\000\\000\\000\\022,Rk\\275\\344\\334\\336\\331\\342\\310\\315\\323\\346\\340\\352\\260\\274\\372\\370\\351\\356\\327\\000\\0009\\273\\320\\340\\335\\340\\320\\314\\326\\320\\321\\310\\237\\365\\301\\316\\337\\377\\377\\335\\352\\335\\323\\334\\350\\366\\000\\003\\312\\344\\340\\335\\323\\323\\326\\315\\315\\315\\334\\360P\\226\\377\\345\\335\\274\\232\\277\\322\\314\\321\\336\\344\\341\\000b\\351\\306\\322\\336\\345\\345\\352\\371\\334\\302\\327\\331\\361AIju\\250\\333\\335\\327\\331\\337\\337\\340\\345\\035K\\314\\324\\314\\301\\315\\323\\341\\330\\271\\305\\316\\306\\325\\360\\303\\343\\365\\357\\337\\332\\324\\321\\336\\334\\335\\346C0\\313\\267\\302\\325\\305\\271\\276\\302\\300\\312\\326\\333\\335\\334\\354\\341\\330\\307\\316\\272\\265\\261\\254\\265\\315\\316s\\000z\\333\\301\\263\\253\\267\\304\\314\\322\\325\\317\\323\\322\\310\\304\\302\\277\\303\\277\\306\\300\\260\\234\\247\\261\\322\\\\\\000\\000J\\275\\324\\277\\257\\254\\257\\265\\271\\274\\275\\274\\301\\306\\314\\321\\322\\322\\323\\274\\274\\302\\300\\330\\252\\000\\002\\000\\000\\000B\\310\\336\\355\\357\\362\\366\\363\\364\\335\\334\\301\\277\\263\\266\\266\\265\\260\\246\\250c:\\000\\000\\000\\000\\000\\000\\000\\000\\000(=,H)#\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\"\n",
      "      }\n",
      "    }\n",
      "  }\n",
      "  feature {\n",
      "    key: \"label\"\n",
      "    value {\n",
      "      int64_list {\n",
      "        value: 9\n",
      "      }\n",
      "    }\n",
      "  }\n",
      "}\n",
      "\n"
     ]
    }
   ],
   "source": [
    "for image, label in valid_set.take(1):\n",
    "    print(create_example(image, label))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The following function saves a given dataset to a set of TFRecord files. The examples are written to the files in a round-robin fashion. To do this, we enumerate all the examples using the `dataset.enumerate()` method, and we compute `index % n_shards` to decide which file to write to. We use the standard `contextlib.ExitStack` class to make sure that all writers are properly closed whether or not an I/O error occurs while writing."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 123,
   "metadata": {},
   "outputs": [],
   "source": [
    "from contextlib import ExitStack\n",
    "\n",
    "def write_tfrecords(name, dataset, n_shards=10):\n",
    "    paths = [\"{}.tfrecord-{:05d}-of-{:05d}\".format(name, index, n_shards)\n",
    "             for index in range(n_shards)]\n",
    "    with ExitStack() as stack:\n",
    "        writers = [stack.enter_context(tf.io.TFRecordWriter(path))\n",
    "                   for path in paths]\n",
    "        for index, (image, label) in dataset.enumerate():\n",
    "            shard = index % n_shards\n",
    "            example = create_example(image, label)\n",
    "            writers[shard].write(example.SerializeToString())\n",
    "    return paths"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 124,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_filepaths = write_tfrecords(\"my_fashion_mnist.train\", train_set)\n",
    "valid_filepaths = write_tfrecords(\"my_fashion_mnist.valid\", valid_set)\n",
    "test_filepaths = write_tfrecords(\"my_fashion_mnist.test\", test_set)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### b.\n",
    "_Exercise: Then use tf.data to create an efficient dataset for each set. Finally, use a Keras model to train these datasets, including a preprocessing layer to standardize each input feature. Try to make the input pipeline as efficient as possible, using TensorBoard to visualize profiling data._"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 125,
   "metadata": {},
   "outputs": [],
   "source": [
    "def preprocess(tfrecord):\n",
    "    feature_descriptions = {\n",
    "        \"image\": tf.io.FixedLenFeature([], tf.string, default_value=\"\"),\n",
    "        \"label\": tf.io.FixedLenFeature([], tf.int64, default_value=-1)\n",
    "    }\n",
    "    example = tf.io.parse_single_example(tfrecord, feature_descriptions)\n",
    "    image = tf.io.parse_tensor(example[\"image\"], out_type=tf.uint8)\n",
    "    #image = tf.io.decode_jpeg(example[\"image\"])\n",
    "    image = tf.reshape(image, shape=[28, 28])\n",
    "    return image, example[\"label\"]\n",
    "\n",
    "def mnist_dataset(filepaths, n_read_threads=5, shuffle_buffer_size=None,\n",
    "                  n_parse_threads=5, batch_size=32, cache=True):\n",
    "    dataset = tf.data.TFRecordDataset(filepaths,\n",
    "                                      num_parallel_reads=n_read_threads)\n",
    "    if cache:\n",
    "        dataset = dataset.cache()\n",
    "    if shuffle_buffer_size:\n",
    "        dataset = dataset.shuffle(shuffle_buffer_size)\n",
    "    dataset = dataset.map(preprocess, num_parallel_calls=n_parse_threads)\n",
    "    dataset = dataset.batch(batch_size)\n",
    "    return dataset.prefetch(1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 126,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_set = mnist_dataset(train_filepaths, shuffle_buffer_size=60000)\n",
    "valid_set = mnist_dataset(train_filepaths)\n",
    "test_set = mnist_dataset(train_filepaths)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 127,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 5 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "for X, y in train_set.take(1):\n",
    "    for i in range(5):\n",
    "        plt.subplot(1, 5, i + 1)\n",
    "        plt.imshow(X[i].numpy(), cmap=\"binary\")\n",
    "        plt.axis(\"off\")\n",
    "        plt.title(str(y[i].numpy()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 128,
   "metadata": {},
   "outputs": [],
   "source": [
    "keras.backend.clear_session()\n",
    "tf.random.set_seed(42)\n",
    "np.random.seed(42)\n",
    "\n",
    "class Standardization(keras.layers.Layer):\n",
    "    def adapt(self, data_sample):\n",
    "        self.means_ = np.mean(data_sample, axis=0, keepdims=True)\n",
    "        self.stds_ = np.std(data_sample, axis=0, keepdims=True)\n",
    "    def call(self, inputs):\n",
    "        return (inputs - self.means_) / (self.stds_ + keras.backend.epsilon())\n",
    "\n",
    "standardization = Standardization(input_shape=[28, 28])\n",
    "# or perhaps soon:\n",
    "#standardization = keras.layers.Normalization()\n",
    "\n",
    "sample_image_batches = train_set.take(100).map(lambda image, label: image)\n",
    "sample_images = np.concatenate(list(sample_image_batches.as_numpy_iterator()),\n",
    "                               axis=0).astype(np.float32)\n",
    "standardization.adapt(sample_images)\n",
    "\n",
    "model = keras.models.Sequential([\n",
    "    standardization,\n",
    "    keras.layers.Flatten(),\n",
    "    keras.layers.Dense(100, activation=\"relu\"),\n",
    "    keras.layers.Dense(10, activation=\"softmax\")\n",
    "])\n",
    "model.compile(loss=\"sparse_categorical_crossentropy\",\n",
    "              optimizer=\"nadam\", metrics=[\"accuracy\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 129,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/5\n",
      "1719/1719 [==============================] - 7s 4ms/step - loss: 222.8614 - accuracy: 0.8410 - val_loss: 354.4007 - val_accuracy: 0.8756\n",
      "Epoch 2/5\n",
      "1719/1719 [==============================] - 5s 3ms/step - loss: 714.5168 - accuracy: 0.8782 - val_loss: 104.6528 - val_accuracy: 0.8986\n",
      "Epoch 3/5\n",
      "1719/1719 [==============================] - 5s 3ms/step - loss: 519.6338 - accuracy: 0.8916 - val_loss: 66.4182 - val_accuracy: 0.9018\n",
      "Epoch 4/5\n",
      "1719/1719 [==============================] - 5s 3ms/step - loss: 278.5241 - accuracy: 0.9011 - val_loss: 31.4630 - val_accuracy: 0.9163\n",
      "Epoch 5/5\n",
      "1719/1719 [==============================] - 5s 3ms/step - loss: 184.3236 - accuracy: 0.9083 - val_loss: 219.4153 - val_accuracy: 0.9213\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<tensorflow.python.keras.callbacks.History at 0x7fa79141f710>"
      ]
     },
     "execution_count": 129,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from datetime import datetime\n",
    "logs = os.path.join(os.curdir, \"my_logs\",\n",
    "                    \"run_\" + datetime.now().strftime(\"%Y%m%d_%H%M%S\"))\n",
    "\n",
    "tensorboard_cb = tf.keras.callbacks.TensorBoard(\n",
    "    log_dir=logs, histogram_freq=1, profile_batch=10)\n",
    "\n",
    "model.fit(train_set, epochs=5, validation_data=valid_set,\n",
    "          callbacks=[tensorboard_cb])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Warning:** The profiling tab in TensorBoard works if you use TensorFlow 2.2+. You also need to make sure `tensorboard_plugin_profile` is installed (and restart Jupyter if necessary)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 162,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "      <iframe id=\"tensorboard-frame-57c6331f5c4c4b93\" width=\"100%\" height=\"800\" frameborder=\"0\">\n",
       "      </iframe>\n",
       "      <script>\n",
       "        (function() {\n",
       "          const frame = document.getElementById(\"tensorboard-frame-57c6331f5c4c4b93\");\n",
       "          const url = new URL(\"/\", window.location);\n",
       "          url.port = 6006;\n",
       "          frame.src = url;\n",
       "        })();\n",
       "      </script>\n",
       "  "
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%load_ext tensorboard\n",
    "%tensorboard --logdir=./my_logs --port=6006"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 10.\n",
    "_Exercise: In this exercise you will download a dataset, split it, create a `tf.data.Dataset` to load it and preprocess it efficiently, then build and train a binary classification model containing an `Embedding` layer._\n",
    "\n",
    "### a.\n",
    "_Exercise: Download the [Large Movie Review Dataset](https://homl.info/imdb), which contains 50,000 movies reviews from the [Internet Movie Database](https://imdb.com/). The data is organized in two directories, `train` and `test`, each containing a `pos` subdirectory with 12,500 positive reviews and a `neg` subdirectory with 12,500 negative reviews. Each review is stored in a separate text file. There are other files and folders (including preprocessed bag-of-words), but we will ignore them in this exercise._"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 131,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "PosixPath('/Users/ageron/.keras/datasets/aclImdb')"
      ]
     },
     "execution_count": 131,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from pathlib import Path\n",
    "\n",
    "DOWNLOAD_ROOT = \"http://ai.stanford.edu/~amaas/data/sentiment/\"\n",
    "FILENAME = \"aclImdb_v1.tar.gz\"\n",
    "filepath = keras.utils.get_file(FILENAME, DOWNLOAD_ROOT + FILENAME, extract=True)\n",
    "path = Path(filepath).parent / \"aclImdb\"\n",
    "path"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 132,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "aclImdb/\n",
      "    README\n",
      "    imdb.vocab\n",
      "    imdbEr.txt\n",
      "    test/\n",
      "        labeledBow.feat\n",
      "        urls_neg.txt\n",
      "        urls_pos.txt\n",
      "        neg/\n",
      "            0_2.txt\n",
      "            10000_4.txt\n",
      "            10001_1.txt\n",
      "            ...\n",
      "        pos/\n",
      "            0_10.txt\n",
      "            10000_7.txt\n",
      "            10001_9.txt\n",
      "            ...\n",
      "    train/\n",
      "        labeledBow.feat\n",
      "        unsupBow.feat\n",
      "        urls_neg.txt\n",
      "        ...\n",
      "        neg/\n",
      "            0_3.txt\n",
      "            10000_4.txt\n",
      "            10001_4.txt\n",
      "            ...\n",
      "        unsup/\n",
      "            0_0.txt\n",
      "            10000_0.txt\n",
      "            10001_0.txt\n",
      "            ...\n",
      "        pos/\n",
      "            0_9.txt\n",
      "            10000_8.txt\n",
      "            10001_10.txt\n",
      "            ...\n"
     ]
    }
   ],
   "source": [
    "for name, subdirs, files in os.walk(path):\n",
    "    indent = len(Path(name).parts) - len(path.parts)\n",
    "    print(\"    \" * indent + Path(name).parts[-1] + os.sep)\n",
    "    for index, filename in enumerate(sorted(files)):\n",
    "        if index == 3:\n",
    "            print(\"    \" * (indent + 1) + \"...\")\n",
    "            break\n",
    "        print(\"    \" * (indent + 1) + filename)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 133,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(12500, 12500, 12500, 12500)"
      ]
     },
     "execution_count": 133,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def review_paths(dirpath):\n",
    "    return [str(path) for path in dirpath.glob(\"*.txt\")]\n",
    "\n",
    "train_pos = review_paths(path / \"train\" / \"pos\")\n",
    "train_neg = review_paths(path / \"train\" / \"neg\")\n",
    "test_valid_pos = review_paths(path / \"test\" / \"pos\")\n",
    "test_valid_neg = review_paths(path / \"test\" / \"neg\")\n",
    "\n",
    "len(train_pos), len(train_neg), len(test_valid_pos), len(test_valid_neg)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### b.\n",
    "_Exercise: Split the test set into a validation set (15,000) and a test set (10,000)._"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 134,
   "metadata": {},
   "outputs": [],
   "source": [
    "np.random.shuffle(test_valid_pos)\n",
    "\n",
    "test_pos = test_valid_pos[:5000]\n",
    "test_neg = test_valid_neg[:5000]\n",
    "valid_pos = test_valid_pos[5000:]\n",
    "valid_neg = test_valid_neg[5000:]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### c.\n",
    "_Exercise: Use tf.data to create an efficient dataset for each set._"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Since the dataset fits in memory, we can just load all the data using pure Python code and use `tf.data.Dataset.from_tensor_slices()`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 135,
   "metadata": {},
   "outputs": [],
   "source": [
    "def imdb_dataset(filepaths_positive, filepaths_negative):\n",
    "    reviews = []\n",
    "    labels = []\n",
    "    for filepaths, label in ((filepaths_negative, 0), (filepaths_positive, 1)):\n",
    "        for filepath in filepaths:\n",
    "            with open(filepath) as review_file:\n",
    "                reviews.append(review_file.read())\n",
    "            labels.append(label)\n",
    "    return tf.data.Dataset.from_tensor_slices(\n",
    "        (tf.constant(reviews), tf.constant(labels)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 136,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tf.Tensor(b\"Working with one of the best Shakespeare sources, this film manages to be creditable to it's source, whilst still appealing to a wider audience.<br /><br />Branagh steals the film from under Fishburne's nose, and there's a talented cast on good form.\", shape=(), dtype=string)\n",
      "tf.Tensor(0, shape=(), dtype=int32)\n",
      "\n",
      "tf.Tensor(b'Well...tremors I, the original started off in 1990 and i found the movie quite enjoyable to watch. however, they proceeded to make tremors II and III. Trust me, those movies started going downhill right after they finished the first one, i mean, ass blasters??? Now, only God himself is capable of answering the question \"why in Gods name would they create another one of these dumpster dives of a movie?\" Tremors IV cannot be considered a bad movie, in fact it cannot be even considered an epitome of a bad movie, for it lives up to more than that. As i attempted to sit though it, i noticed that my eyes started to bleed, and i hoped profusely that the little girl from the ring would crawl through the TV and kill me. did they really think that dressing the people who had stared in the other movies up as though they we\\'re from the wild west would make the movie (with the exact same occurrences) any better? honestly, i would never suggest buying this movie, i mean, there are cheaper ways to find things that burn well.', shape=(), dtype=string)\n",
      "tf.Tensor(0, shape=(), dtype=int32)\n",
      "\n",
      "tf.Tensor(b\"Ouch! This one was a bit painful to sit through. It has a cute and amusing premise, but it all goes to hell from there. Matthew Modine is almost always pedestrian and annoying, and he does not disappoint in this one. Deborah Kara Unger and John Neville turned in surprisingly decent performances. Alan Bates and Jennifer Tilly, among others, played it way over the top. I know that's the way the parts were written, and it's hard to blame actors, when the script and director have them do such schlock. If you're going to have outrageous characters, that's OK, but you gotta have good material to make it work. It didn't here. Run away screaming from this movie if at all possible.\", shape=(), dtype=string)\n",
      "tf.Tensor(0, shape=(), dtype=int32)\n",
      "\n"
     ]
    }
   ],
   "source": [
    "for X, y in imdb_dataset(train_pos, train_neg).take(3):\n",
    "    print(X)\n",
    "    print(y)\n",
    "    print()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 137,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "19.7 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n"
     ]
    }
   ],
   "source": [
    "%timeit -r1 for X, y in imdb_dataset(train_pos, train_neg).repeat(10): pass"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "It takes about 20 seconds to load the dataset and go through it 10 times."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "But let's pretend the dataset does not fit in memory, just to make things more interesting. Luckily, each review fits on just one line (they use `<br />` to indicate line breaks), so we can read the reviews using a `TextLineDataset`. If they didn't we would have to preprocess the input files (e.g., converting them to TFRecords). For very large datasets, it would make sense a tool like Apache Beam for that."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 138,
   "metadata": {},
   "outputs": [],
   "source": [
    "def imdb_dataset(filepaths_positive, filepaths_negative, n_read_threads=5):\n",
    "    dataset_neg = tf.data.TextLineDataset(filepaths_negative,\n",
    "                                          num_parallel_reads=n_read_threads)\n",
    "    dataset_neg = dataset_neg.map(lambda review: (review, 0))\n",
    "    dataset_pos = tf.data.TextLineDataset(filepaths_positive,\n",
    "                                          num_parallel_reads=n_read_threads)\n",
    "    dataset_pos = dataset_pos.map(lambda review: (review, 1))\n",
    "    return tf.data.Dataset.concatenate(dataset_pos, dataset_neg)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 139,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "34.1 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n"
     ]
    }
   ],
   "source": [
    "%timeit -r1 for X, y in imdb_dataset(train_pos, train_neg).repeat(10): pass"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now it takes about 34 seconds to go through the dataset 10 times. That's much slower, essentially because the dataset is not cached in RAM, so it must be reloaded at each epoch. If you add `.cache()` just before `.repeat(10)`, you will see that this implementation will be about as fast as the previous one."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 140,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "18.5 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)\n"
     ]
    }
   ],
   "source": [
    "%timeit -r1 for X, y in imdb_dataset(train_pos, train_neg).cache().repeat(10): pass"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 141,
   "metadata": {},
   "outputs": [],
   "source": [
    "batch_size = 32\n",
    "\n",
    "train_set = imdb_dataset(train_pos, train_neg).shuffle(25000).batch(batch_size).prefetch(1)\n",
    "valid_set = imdb_dataset(valid_pos, valid_neg).batch(batch_size).prefetch(1)\n",
    "test_set = imdb_dataset(test_pos, test_neg).batch(batch_size).prefetch(1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### d.\n",
    "_Exercise: Create a binary classification model, using a `TextVectorization` layer to preprocess each review. If the `TextVectorization` layer is not yet available (or if you like a challenge), try to create your own custom preprocessing layer: you can use the functions in the `tf.strings` package, for example `lower()` to make everything lowercase, `regex_replace()` to replace punctuation with spaces, and `split()` to split words on spaces. You should use a lookup table to output word indices, which must be prepared in the `adapt()` method._"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's first write a function to preprocess the reviews, cropping them to 300 characters, converting them to lower case, then replacing `<br />` and all non-letter characters to spaces, splitting the reviews into words, and finally padding or cropping each review so it ends up with exactly `n_words` tokens:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 142,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(2, 50), dtype=string, numpy=\n",
       "array([[b'it', b's', b'a', b'great', b'great', b'movie', b'i', b'loved',\n",
       "        b'it', b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>',\n",
       "        b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>',\n",
       "        b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>',\n",
       "        b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>',\n",
       "        b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>',\n",
       "        b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>',\n",
       "        b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>'],\n",
       "       [b'it', b'was', b'terrible', b'run', b'away', b'<pad>', b'<pad>',\n",
       "        b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>',\n",
       "        b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>',\n",
       "        b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>',\n",
       "        b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>',\n",
       "        b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>',\n",
       "        b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>',\n",
       "        b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>', b'<pad>',\n",
       "        b'<pad>']], dtype=object)>"
      ]
     },
     "execution_count": 142,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def preprocess(X_batch, n_words=50):\n",
    "    shape = tf.shape(X_batch) * tf.constant([1, 0]) + tf.constant([0, n_words])\n",
    "    Z = tf.strings.substr(X_batch, 0, 300)\n",
    "    Z = tf.strings.lower(Z)\n",
    "    Z = tf.strings.regex_replace(Z, b\"<br\\\\s*/?>\", b\" \")\n",
    "    Z = tf.strings.regex_replace(Z, b\"[^a-z]\", b\" \")\n",
    "    Z = tf.strings.split(Z)\n",
    "    return Z.to_tensor(shape=shape, default_value=b\"<pad>\")\n",
    "\n",
    "X_example = tf.constant([\"It's a great, great movie! I loved it.\", \"It was terrible, run away!!!\"])\n",
    "preprocess(X_example)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now let's write a second utility function that will take a data sample with the same format as the output of the `preprocess()` function, and will output the list of the top `max_size` most frequent words, ensuring that the padding token is first:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 143,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[b'<pad>',\n",
       " b'it',\n",
       " b'great',\n",
       " b's',\n",
       " b'a',\n",
       " b'movie',\n",
       " b'i',\n",
       " b'loved',\n",
       " b'was',\n",
       " b'terrible',\n",
       " b'run',\n",
       " b'away']"
      ]
     },
     "execution_count": 143,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from collections import Counter\n",
    "\n",
    "def get_vocabulary(data_sample, max_size=1000):\n",
    "    preprocessed_reviews = preprocess(data_sample).numpy()\n",
    "    counter = Counter()\n",
    "    for words in preprocessed_reviews:\n",
    "        for word in words:\n",
    "            if word != b\"<pad>\":\n",
    "                counter[word] += 1\n",
    "    return [b\"<pad>\"] + [word for word, count in counter.most_common(max_size)]\n",
    "\n",
    "get_vocabulary(X_example)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we are ready to create the `TextVectorization` layer. Its constructor just saves the hyperparameters (`max_vocabulary_size` and `n_oov_buckets`). The `adapt()` method computes the vocabulary using the `get_vocabulary()` function, then it builds a `StaticVocabularyTable` (see Chapter 16 for more details). The `call()` method preprocesses the reviews to get a padded list of words for each review, then it uses the `StaticVocabularyTable` to lookup the index of each word in the vocabulary:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 144,
   "metadata": {},
   "outputs": [],
   "source": [
    "class TextVectorization(keras.layers.Layer):\n",
    "    def __init__(self, max_vocabulary_size=1000, n_oov_buckets=100, dtype=tf.string, **kwargs):\n",
    "        super().__init__(dtype=dtype, **kwargs)\n",
    "        self.max_vocabulary_size = max_vocabulary_size\n",
    "        self.n_oov_buckets = n_oov_buckets\n",
    "\n",
    "    def adapt(self, data_sample):\n",
    "        self.vocab = get_vocabulary(data_sample, self.max_vocabulary_size)\n",
    "        words = tf.constant(self.vocab)\n",
    "        word_ids = tf.range(len(self.vocab), dtype=tf.int64)\n",
    "        vocab_init = tf.lookup.KeyValueTensorInitializer(words, word_ids)\n",
    "        self.table = tf.lookup.StaticVocabularyTable(vocab_init, self.n_oov_buckets)\n",
    "        \n",
    "    def call(self, inputs):\n",
    "        preprocessed_inputs = preprocess(inputs)\n",
    "        return self.table.lookup(preprocessed_inputs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's try it on our small `X_example` we defined earlier:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 145,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(2, 50), dtype=int64, numpy=\n",
       "array([[ 1,  3,  4,  2,  2,  5,  6,  7,  1,  0,  0,  0,  0,  0,  0,  0,\n",
       "         0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,\n",
       "         0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,\n",
       "         0,  0],\n",
       "       [ 1,  8,  9, 10, 11,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,\n",
       "         0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,\n",
       "         0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,\n",
       "         0,  0]])>"
      ]
     },
     "execution_count": 145,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "text_vectorization = TextVectorization()\n",
    "\n",
    "text_vectorization.adapt(X_example)\n",
    "text_vectorization(X_example)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Looks good! As you can see, each review was cleaned up and tokenized, then each word was encoded as its index in the vocabulary (all the 0s correspond to the `<pad>` tokens).\n",
    "\n",
    "Now let's create another `TextVectorization` layer and let's adapt it to the full IMDB training set (if the training set did not fit in RAM, we could just use a smaller sample of the training set by calling `train_set.take(500)`):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 146,
   "metadata": {},
   "outputs": [],
   "source": [
    "max_vocabulary_size = 1000\n",
    "n_oov_buckets = 100\n",
    "\n",
    "sample_review_batches = train_set.map(lambda review, label: review)\n",
    "sample_reviews = np.concatenate(list(sample_review_batches.as_numpy_iterator()),\n",
    "                                axis=0)\n",
    "\n",
    "text_vectorization = TextVectorization(max_vocabulary_size, n_oov_buckets,\n",
    "                                       input_shape=[])\n",
    "text_vectorization.adapt(sample_reviews)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's run it on the same `X_example`, just to make sure the word IDs are larger now, since the vocabulary bigger:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 147,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(2, 50), dtype=int64, numpy=\n",
       "array([[  9,  14,   2,  64,  64,  12,   5, 257,   9,   0,   0,   0,   0,\n",
       "          0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,\n",
       "          0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,\n",
       "          0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0],\n",
       "       [  9,  13, 269, 531, 335,   0,   0,   0,   0,   0,   0,   0,   0,\n",
       "          0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,\n",
       "          0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,\n",
       "          0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0]])>"
      ]
     },
     "execution_count": 147,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "text_vectorization(X_example)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Good! Now let's take a look at the first 10 words in the vocabulary:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 148,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[b'<pad>', b'the', b'a', b'of', b'and', b'i', b'to', b'is', b'this', b'it']"
      ]
     },
     "execution_count": 148,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "text_vectorization.vocab[:10]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "These are the most common words in the reviews."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now to build our model we will need to encode all these word IDs somehow. One approach is to create bags of words: for each review, and for each word in the vocabulary, we count the number of occurences of that word in the review. For example:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 149,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(2, 4), dtype=float32, numpy=\n",
       "array([[2., 2., 0., 1.],\n",
       "       [3., 0., 2., 0.]], dtype=float32)>"
      ]
     },
     "execution_count": 149,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "simple_example = tf.constant([[1, 3, 1, 0, 0], [2, 2, 0, 0, 0]])\n",
    "tf.reduce_sum(tf.one_hot(simple_example, 4), axis=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The first review has 2 times the word 0, 2 times the word 1, 0 times the word 2, and 1 time the word 3, so its bag-of-words representation is `[2, 2, 0, 1]`. Similarly, the second review has 3 times the word 0, 0 times the word 1, and so on. Let's wrap this logic in a small custom layer, and let's test it. We'll drop the counts for the word 0, since this corresponds to the `<pad>` token, which we don't care about."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 150,
   "metadata": {},
   "outputs": [],
   "source": [
    "class BagOfWords(keras.layers.Layer):\n",
    "    def __init__(self, n_tokens, dtype=tf.int32, **kwargs):\n",
    "        super().__init__(dtype=tf.int32, **kwargs)\n",
    "        self.n_tokens = n_tokens\n",
    "    def call(self, inputs):\n",
    "        one_hot = tf.one_hot(inputs, self.n_tokens)\n",
    "        return tf.reduce_sum(one_hot, axis=1)[:, 1:]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's test it:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 151,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(2, 3), dtype=float32, numpy=\n",
       "array([[2., 0., 1.],\n",
       "       [0., 2., 0.]], dtype=float32)>"
      ]
     },
     "execution_count": 151,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "bag_of_words = BagOfWords(n_tokens=4)\n",
    "bag_of_words(simple_example)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "It works fine! Now let's create another `BagOfWord` with the right vocabulary size for our training set:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 152,
   "metadata": {},
   "outputs": [],
   "source": [
    "n_tokens = max_vocabulary_size + n_oov_buckets + 1 # add 1 for <pad>\n",
    "bag_of_words = BagOfWords(n_tokens)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We're ready to train the model!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 153,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/5\n",
      "782/782 [==============================] - 10s 12ms/step - loss: 0.5434 - accuracy: 0.7173 - val_loss: 0.4988 - val_accuracy: 0.7495\n",
      "Epoch 2/5\n",
      "782/782 [==============================] - 8s 10ms/step - loss: 0.4734 - accuracy: 0.7680 - val_loss: 0.5021 - val_accuracy: 0.7458\n",
      "Epoch 3/5\n",
      "782/782 [==============================] - 8s 10ms/step - loss: 0.4241 - accuracy: 0.8012 - val_loss: 0.5051 - val_accuracy: 0.7460\n",
      "Epoch 4/5\n",
      "782/782 [==============================] - 8s 10ms/step - loss: 0.3533 - accuracy: 0.8487 - val_loss: 0.5260 - val_accuracy: 0.7397\n",
      "Epoch 5/5\n",
      "782/782 [==============================] - 8s 10ms/step - loss: 0.2682 - accuracy: 0.9024 - val_loss: 0.5665 - val_accuracy: 0.7440\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<tensorflow.python.keras.callbacks.History at 0x7fa7859f17d0>"
      ]
     },
     "execution_count": 153,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model = keras.models.Sequential([\n",
    "    text_vectorization,\n",
    "    bag_of_words,\n",
    "    keras.layers.Dense(100, activation=\"relu\"),\n",
    "    keras.layers.Dense(1, activation=\"sigmoid\"),\n",
    "])\n",
    "model.compile(loss=\"binary_crossentropy\", optimizer=\"nadam\",\n",
    "              metrics=[\"accuracy\"])\n",
    "model.fit(train_set, epochs=5, validation_data=valid_set)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We get about 75% accuracy on the validation set after just the first epoch, but after that the model makes no progress. We will do better in Chapter 16. For now the point is just to perform efficient preprocessing using `tf.data` and Keras preprocessing layers."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### e.\n",
    "_Exercise: Add an `Embedding` layer and compute the mean embedding for each review, multiplied by the square root of the number of words (see Chapter 16). This rescaled mean embedding can then be passed to the rest of your model._"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To compute the mean embedding for each review, and multiply it by the square root of the number of words in that review, we will need a little function:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 154,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(2, 3), dtype=float32, numpy=\n",
       "array([[2.3570225, 3.2998314, 1.4142135],\n",
       "       [2.       , 0.       , 0.       ]], dtype=float32)>"
      ]
     },
     "execution_count": 154,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def compute_mean_embedding(inputs):\n",
    "    not_pad = tf.math.count_nonzero(inputs, axis=-1)\n",
    "    n_words = tf.math.count_nonzero(not_pad, axis=-1, keepdims=True)    \n",
    "    sqrt_n_words = tf.math.sqrt(tf.cast(n_words, tf.float32))\n",
    "    return tf.reduce_mean(inputs, axis=1) * sqrt_n_words\n",
    "\n",
    "another_example = tf.constant([[[1., 2., 3.], [4., 5., 0.], [0., 0., 0.]],\n",
    "                               [[6., 0., 0.], [0., 0., 0.], [0., 0., 0.]]])\n",
    "compute_mean_embedding(another_example)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's check that this is correct. The first review contains 2 words (the last token is a zero vector, which represents the `<pad>` token). The second review contains 1 word. So we need to compute the mean embedding for each review, and multiply the first one by the square root of 2, and the second one by the square root of 1:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 155,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tf.Tensor: shape=(2, 3), dtype=float32, numpy=\n",
       "array([[2.3570225, 3.2998314, 1.4142135],\n",
       "       [2.       , 0.       , 0.       ]], dtype=float32)>"
      ]
     },
     "execution_count": 155,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tf.reduce_mean(another_example, axis=1) * tf.sqrt([[2.], [1.]])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Perfect. Now we're ready to train our final model. It's the same as before, except we replaced the `BagOfWords` layer with an `Embedding` layer followed by a `Lambda` layer that calls the `compute_mean_embedding` layer:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 156,
   "metadata": {},
   "outputs": [],
   "source": [
    "embedding_size = 20\n",
    "\n",
    "model = keras.models.Sequential([\n",
    "    text_vectorization,\n",
    "    keras.layers.Embedding(input_dim=n_tokens,\n",
    "                           output_dim=embedding_size,\n",
    "                           mask_zero=True), # <pad> tokens => zero vectors\n",
    "    keras.layers.Lambda(compute_mean_embedding),\n",
    "    keras.layers.Dense(100, activation=\"relu\"),\n",
    "    keras.layers.Dense(1, activation=\"sigmoid\"),\n",
    "])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### f.\n",
    "_Exercise: Train the model and see what accuracy you get. Try to optimize your pipelines to make training as fast as possible._"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 157,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/5\n",
      "782/782 [==============================] - 6s 8ms/step - loss: 0.5561 - accuracy: 0.7081 - val_loss: 0.5053 - val_accuracy: 0.7459\n",
      "Epoch 2/5\n",
      "782/782 [==============================] - 6s 7ms/step - loss: 0.4968 - accuracy: 0.7534 - val_loss: 0.5049 - val_accuracy: 0.7446\n",
      "Epoch 3/5\n",
      "782/782 [==============================] - 5s 7ms/step - loss: 0.4879 - accuracy: 0.7593 - val_loss: 0.5075 - val_accuracy: 0.7466\n",
      "Epoch 4/5\n",
      "782/782 [==============================] - 6s 7ms/step - loss: 0.4831 - accuracy: 0.7614 - val_loss: 0.5009 - val_accuracy: 0.7468\n",
      "Epoch 5/5\n",
      "782/782 [==============================] - 5s 7ms/step - loss: 0.4781 - accuracy: 0.7648 - val_loss: 0.4952 - val_accuracy: 0.7491\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<tensorflow.python.keras.callbacks.History at 0x7fa7606a15d0>"
      ]
     },
     "execution_count": 157,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.compile(loss=\"binary_crossentropy\", optimizer=\"nadam\", metrics=[\"accuracy\"])\n",
    "model.fit(train_set, epochs=5, validation_data=valid_set)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The model is not better using embeddings (but we will do better in Chapter 16). The pipeline looks fast enough (we optimized it earlier)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### g.\n",
    "_Exercise: Use TFDS to load the same dataset more easily: `tfds.load(\"imdb_reviews\")`._"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 158,
   "metadata": {},
   "outputs": [],
   "source": [
    "import tensorflow_datasets as tfds\n",
    "\n",
    "datasets = tfds.load(name=\"imdb_reviews\")\n",
    "train_set, test_set = datasets[\"train\"], datasets[\"test\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 159,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tf.Tensor(b\"This was an absolutely terrible movie. Don't be lured in by Christopher Walken or Michael Ironside. Both are great actors, but this must simply be their worst role in history. Even their great acting could not redeem this movie's ridiculous storyline. This movie is an early nineties US propaganda piece. The most pathetic scenes were those when the Columbian rebels were making their cases for revolutions. Maria Conchita Alonso appeared phony, and her pseudo-love affair with Walken was nothing but a pathetic emotional plug in a movie that was devoid of any real meaning. I am disappointed that there are movies like this, ruining actor's like Christopher Walken's good name. I could barely sit through it.\", shape=(), dtype=string)\n",
      "tf.Tensor(0, shape=(), dtype=int64)\n"
     ]
    }
   ],
   "source": [
    "for example in train_set.take(1):\n",
    "    print(example[\"text\"])\n",
    "    print(example[\"label\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  },
  "nav_menu": {
   "height": "264px",
   "width": "369px"
  },
  "toc": {
   "navigate_menu": true,
   "number_sections": true,
   "sideBar": true,
   "threshold": 6,
   "toc_cell": false,
   "toc_section_display": "block",
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
